Some tools/functions/snippets used across projects.
Project description
mypythontools_cicd
Module with functionality around Continuous Integration and Continuous Delivery.
Why to use this and not Travis or Circle CI? It's local and it's fast. You can setup it as a task in IDE and if some phase fails, you know it soon and before pushing to repo.
You can also import mypythontools in your CI/CD and use it there of course.
If you are not sure whether the structure of your app will work with this code, check project-starter-cookiecutter
on GitHub.
Links
Official documentation - readthedocs
Official repo - GitHub
Installation
Python >=3.6 (Python 2 is not supported).
Install with
pip install mypythontools_cicd
There are many extras requirements that can be used with square brackets like for example
pip install mypythontools_cicd[tests]
You can use dev
which install libraries used during development like for example pylint. Most subpackages
has own extras. 'build_app','deploy', 'docs', 'git', 'misc', 'tests', 'venvs'
in particular.
There is also cicd
which install all libraries necessary for cicd, but without dev dependencies. Last
extras are all
which use dev as well as cicd.
Subpackages
Package is divided into several subpackages
build_app
Build your application to .exe with pyinstaller. It also builds javascript frontend with npm build if configured, which is used mostly in PyVueEel applications.
cicd
Pipeline for all the other submodules, that provide configurable CI/CD.
deploy
Build package and push it to PyPi.
docs
Provide documentation with sphinx.
git
Works with git. You can check branch here, commit all changes or push to repository.
misc
Miscellaneous functions that are too small to have own subpackage, like for example formatting with black.
packages
For example, you can work with requirements here. Usually used in 'setup.py'.
project_paths
Subpackage where you can get paths used in your project (path to README, __init__.py etc.).
tests
Runs tests in more venvs with different python versions, also with wsl linux if configured and create coverage.
venvs
Works with virtual environments.
Mypythontools
There is extra library in separate repository which is not about CICD, but normal python helpers.
https://github.com/Malachov/mypythontools
This can help you with a lot of stuff around CICD like getting project paths, generating docs, testing, deploying to PyPi etc.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mypythontools_cicd-0.0.35.tar.gz
.
File metadata
- Download URL: mypythontools_cicd-0.0.35.tar.gz
- Upload date:
- Size: 33.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46a192304fa9d11e1b33433b12a8ae3c9ecec00188d061d4453b1d672eb61291 |
|
MD5 | 963fc4be0ebdd068fead24a26c4c9a9f |
|
BLAKE2b-256 | 4dbcd268159b8d23dae5db940906c6c17b1aed9786d77f5f9ab8144902b0b6fe |
File details
Details for the file mypythontools_cicd-0.0.35-py3-none-any.whl
.
File metadata
- Download URL: mypythontools_cicd-0.0.35-py3-none-any.whl
- Upload date:
- Size: 41.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 662306d82f3851c0bf77a11dc610e5e03b50a96c0da44c84032e552f3bbf7a87 |
|
MD5 | e11eb23906483f5dbae495d0f46d5dc2 |
|
BLAKE2b-256 | 262fea868702a6a9928edf43caae3123b1b8666c93f4ff5fd934387989d31cf7 |