Some tools/functions/snippets/files used across projects.
It’s called mypythontools, but it’s also made for you…
Many projects - one codebase.
There is also some extra stuff, that is not bundled via PyPI (CSS for readthedocs etc.), such a content is under the Tools topic.
Python >=3.6 (Python 2 is not supported).
pip install mypythontools
There can be some extras, that not everybody need. Install it like
pip install mypythontools[plots]
Available extras are [“all”, “plots”]
Subpackages names are self describing and you can find documentation in subpackages docstrings.
There is extra library in separate repository
This can help you with a lot of stuff around CICD like getting project paths, generating docs, testing, deploying to PyPi etc.
There are some extra tools not included in in python library (installable via pip), but still on GitHub repository. Some tools were big enough to be refactored to own repository. Still listed here though.
Link where you can find that content:
Link where you can read about how to use it:
Some examples of what you can find only on GitHub
Install many libraries at once (no need for Anaconda). Download requirements.txt file from https://github.com/Malachov/mypythontools/tree/master/tools/requirements and in that folder use:
pip install -r requirements.txt
It’s good for python libraries that other users with different versions of libraries will use. If not standalone application where freezing into virtual env is good idea - here is possible to use these requirements with using –upgrade from time to time to be sure that your library will be working for up-to-date version of dependencies.
Its good idea to generate documentation from code. If you are using sphinx and alabaster theme, you can use this css file for formatting.
Tested on readthedocs hosting (recommended).
CSS are served from GitHub, and it’s possible to change on one place and edit how all projects docs look like at once.
Just add this to sphinx conf.py:
>>> html_css_files = ["https://malachov.github.io/readthedocs-sphinx-alabaster-css/custom.css"]
Also, of course if you want you can download it and use locally from project if you need.
Result should look like this
There are many other projects, that are in separate repository
Module with functionality around Continuous Integration and Continuous Delivery. Locally run tests, regenerate docs, deploy app or package.
Logging in a very simple way.
Documentation - snippets for various topics.
Application microframework. Develop application really fast.
Various settings stored, so can be reused. E.g. starting scripts after fresh operation system install.