Contributing
We love your input! We want to make contributing to AWS SSO Manager as easy and transparent as possible, whether it’s:
Reporting a bug
Discussing the current state of the code
Submitting a fix
Proposing new features
Becoming a maintainer
Development Process
We use GitHub to host code, to track issues and feature requests, as well as accept pull requests.
Fork the repo and create your branch from master.
If you’ve added code that should be tested, add tests.
If you’ve changed APIs, update the documentation.
Ensure the test suite passes.
Make sure your code lints.
Issue that pull request!
Local Development Setup
Clone the repository:
git clone https://github.com/jmfelice/aws_sso.git cd aws_sso
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Linux/Mac # OR .\.venv\Scripts\Activate.ps1 # On Windows PowerShell
Install development dependencies:
pip install -e ".[dev]"
Running Tests
Run the test suite using pytest:
pytest
For coverage report:
pytest --cov=aws_sso
Code Quality
We use several tools to maintain code quality:
MyPy for type checking:
mypy .
Ruff for linting:
ruff check .
Flake8 for additional linting:
flake8 .
Documentation
We use Sphinx for documentation. To build the docs:
Install documentation dependencies:
pip install -e ".[docs]"
Build the documentation:
cd docs make html
The documentation will be available in docs/build/html.
Pull Request Process
Update the README.md with details of changes to the interface, if applicable.
Update the docs explaining the new functionality, if applicable.
The PR will be merged once you have the sign-off of at least one other developer.
Any contributions you make will be under the MIT Software License
In short, when you submit code changes, your submissions are understood to be under the same [MIT License](http://choosealicense.com/licenses/mit/) that covers the project. Feel free to contact the maintainers if that’s a concern.