| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [View Raw Code] [Original HTTPS Page] |
Hi, to start, you need the following installed on your system.
First fork this repository. (If you are or intend to be a collaborator, uncheck "fork only master", because for versioned docs you'll need gh-pages branch too.) Clone it to your system and install the development dependencies.
# clone repository
$ git clone "https://github.com/YOUR-USERNAME/validators.git"
# change directory
$ cd validators
# install development dependencies
$ pdm installActivate the virtual environment and run tox to verify test cases.
# activate virtual environment
$ . ./.venv/bin/activate # replace `/bin/` with `/Scripts/` if you're on Windows.
# run tox for linting, type checking, formatting etc.
$ toxCreate a git branch and make changes to the source code. If needed, test your changes by running pytest. Execute tox to format, lint and type-check your code before committing. Commit, push and create a pull request. If you're in doubt, feel free to start a discussion here.
Documentation is extracted from the source code. Please follow Google's Python Doc Style.
If you're adding/removing a module, you must update the nav key in mkdocs.yml. Then export documentation as follows:
$ . ./.venv/bin/activate
# generate documentation
$ python package/export TYPE # where TYPE is any of `doc`, `man` or `web`.
# doc - generates docs found here: https://nandgator.github.io/pyvalidators
# man - generates sphinx based manpages
# web - generates sphinx based web docsYou can preview the generated documentation:
$ . ./.venv/bin/activate
# To preview mkdocs
$ mkdocs serve
# To preview man pages
$ man docs/_build/man/validators.1
# To preview sphinx webpages
$ python -m http.server -d docs/_build/webYou must be familiar with semantic versioning and Python packaging.
Take a look at CHANGES.md. They are generated with GitHub's releaser, and then modified to fit the shown style.
Update the changelog. Version number must be updated in both SECURITY.md and src/validators/__init__.py.
The final merge commit on the upstream (i.e. this repo) is tagged.
# syncing with upstream
$ git pull upstream master
$ git push
# tagging that final merge commit before release
$ GIT_COMMITTER_DATE=$(git log -n1 --pretty=%aD) git tag -a -m "vMAJOR.MINOR.PATCH" MAJOR.MINOR.PATCH
# pushing tag to remote
$ git push --tag
$ git push upstream --tagRun ./package/roll.sh (or ./package/roll.ps1) to generate both sdist and bdist.
Install twine using pipx to upload package to PyPI.
# publishing
$ twine check dist/*
$ twine upload dist/*Create a GitHub release with the contents from the changelog. Upload the wheel from dist/ along with the shasum file generated with:
# generate sha256sum
$ sha256sum dist/validators-VERSION-py3-none-any.whl > dist/validators-VERSION-py3-none-any.whl.sha256Thank your for taking interest in this library!
| Back | FazBrowse Home | New Git URL |