...
- If you're not familiar with how to package a Python module and and share it on PyPI, get your bearings by reading this guide.
- Write a setup.py for your package.
- Make sure you:
- Indicate a license type, AGPL or Apache (
license
). Link to which license you should use: /wiki/spaces/OPEN/pages/13959332 - Indicate which packages your package requires in order to run (
install_requires
) - Use "edX" as the package author (
author
) - Use "oscm@edx.org" as the package author's email address (
author_email
)
- Indicate a license type, AGPL or Apache (
- A simple example is here.
- If your package includes console scripts, see this example.
- Make sure you:
- Test your setup.py by publishing your package to the PyPI staging server.
- Create an account at https://testpypi.python.org/pypi.
- Follow the instructions in the guide linked above.
- Ask Devops to do these steps:
- An example
.travis.yml
is here. Travis documentation on PyPI deploymentUse the details at How to connect a repository to Travis CI to add deployment details to your .travis.yml. - To publish a new version of your package to PyPI, update the version in setup.py, then push a corresponding tag to GitHub.
- You're done! Don't forget to update your requirements files so that they install your package from PyPI.
Install twine, build a kit, and upload it:
Code Block |
---|
pip install twine wheel
python setup.py sdist bdist_wheel
twine upload -u edX -p Q6GQT_THE_PASSWORD_6H8DF dist/* |
Ask Devops to add the deploy password to your travis yaml. Use the Travis CI command line client to encrypt the password:
Code Block | ||
---|---|---|
| ||
travis encrypt --add deploy.password |
...