Skip to main content

A Python library to parse codeowner files

Project description

codeowners

Python bindings to softprops's Rust codeowners library.

Why?

To allow Python users to parse codeowners files without having to rewrite an existing implementation.

Install

poetry add codeowners

Usage

from codeowners import CodeOwners

example_file = """\
# owners for js files
*.js    @ghost
# python
*.py user@example.com
# misc
/build/logs/ @dmin
docs/*  docs@example.com
"""

owners = CodeOwners(example_file)
assert owners.of("test.js") ==  [('USERNAME', '@ghost')]

Dev

poetry install

cargo test

# trying a build in Python
poetry run pyo3-pack develop
poetry run python -c "import codeowners; print(codeowners.CodeOwners)"

Releasing a New Version

# bump version in Cargo.toml
poetry run pyo3-pack build --release
# Note: this will prompt for PyPi creds
poetry run pyo3-pack publish

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codeowners-0.1.2.tar.gz (9.1 MB view hashes)

Uploaded Source

Built Distributions

codeowners-0.1.2-cp38-cp38-manylinux1_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.8

codeowners-0.1.2-cp38-cp38-macosx_10_7_x86_64.whl (438.7 kB view hashes)

Uploaded CPython 3.8 macOS 10.7+ x86-64

codeowners-0.1.2-cp37-cp37m-manylinux1_x86_64.whl (988.4 kB view hashes)

Uploaded CPython 3.7m

codeowners-0.1.2-cp37-cp37m-macosx_10_7_x86_64.whl (458.7 kB view hashes)

Uploaded CPython 3.7m macOS 10.7+ x86-64

codeowners-0.1.2-cp36-cp36m-manylinux1_x86_64.whl (988.6 kB view hashes)

Uploaded CPython 3.6m

codeowners-0.1.2-cp35-cp35m-manylinux1_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.5m

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page