To run the project locally, clone the repository, and then create a virtual environment and install the dependencies.
git clone https://github.com/amadeus4dev/amadeus-python.git
cd amadeus-python
First, make sure your pyenv is initialized for each environment (pyenv init
).
If you want to have it loaded automatically, add the following to ~/.zshrc:
eval "$(pyenv init -)"
Second, ensure you have a version of every Python we support installed. Your versions may differ.
pyenv install 3.8.0
pyenv install 3.9.4
pyenv install 3.10.3
pyenv global 3.8.0 3.9.4 3.10.3
Next ensure you create a virtual environment.
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
To run the tests against every supported Python version, use tox
.
tox
Alternatively, to run tests just against a specific Python environment run:
tox -e py
In order to see the code coverage results, open the index.html
file in the htmlcov
folder.
To install a library locally, use pip
to install the library in editable mode.
pip install -e .
This will make the current code available for editing and using in live scripts, for example.
from amadeus import Client
- Update the version in
amadeus/version.py
using semver rules - Update the
CHANGELOG.rst
with the new version - Push all changes and ensure all tests pass on GitHub Actions
- Draft a new release by creating a tag and copying the description from the
CHANGELOG.rst
-
Ensure the bug was not already reported by searching on GitHub under Issues.
-
If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
-
Open a new GitHub pull request with the patch.
-
Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
-
Suggest your change in a new issue and start writing code.
-
Make sure your new code does not break any tests and include new tests.
-
With good code comes good documentation. Try to copy the existing documentation and adapt it to your needs.
-
Close the issue or mark it as inactive if you decide to discontinue working on the code.
- Ask any question about how to use the library by raising a new issue.