It's just a JSON file, so you can use it in any environment.
pip install project-markersimport project_markers
print(project_markers)
# => ['.ansible-lint', '.bazelrc', '.browserslistrc', '.buckconfig', ...]Note: Most type checkers will falsely warn project_markers is not iterable because they are incapable of analyzing runtime behavior (where the module is replaced w/ a list for cleaner, direct access). You can safely suppress such warnings using # type: ignore.
The list includes hundreds of markers from many tools and ecosystems, including:
- Version control (.git, .hg, .svn)
- Python (pyproject.toml, setup.py, requirements.txt)
- JavaScript (package.json, yarn.lock, tsconfig.json)
- Docker/K8s (Dockerfile, docker-compose.yml)
- CI/CD (.github, .gitlab-ci.yml, Jenkinsfile)
Copyright © 2026 Adam Lui
📂 find-project-root - Locate project root via custom markers.
📊 get-min-py - Get the minimum Python version required for a PyPI package.


