Metadata-Version: 2.1
Name: formelsammlung
Version: 4.0.0
Summary: Collection of different functions
License: GPL-3.0-or-later
Author: Christian Riedel
Author-email: cielquan@protonmail.com
Requires-Python: >=3.6.1,<4.0.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development
Classifier: Topic :: Utilities
Provides-Extra: coverage
Provides-Extra: dev_nox
Provides-Extra: diff-cover
Provides-Extra: docs
Provides-Extra: flask
Provides-Extra: nox
Provides-Extra: poetry
Provides-Extra: pre-commit
Provides-Extra: safety
Provides-Extra: sphinx-autobuild
Provides-Extra: testing
Provides-Extra: tomlkit
Provides-Extra: tox
Provides-Extra: twine
Requires-Dist: bandit (>=1.7,<2.0); extra == "pre-commit"
Requires-Dist: coverage-conditional-plugin (>=0.3.1,<0.4.0); extra == "testing" or extra == "coverage"
Requires-Dist: coverage[toml] (>=5.3.1,<6.0.0); extra == "testing" or extra == "coverage"
Requires-Dist: diff-cover (>=4,<5); extra == "diff-cover"
Requires-Dist: flake8 (>=3.8,<4.0); extra == "pre-commit"
Requires-Dist: flake8-2020 (>=1.6,<2.0); extra == "pre-commit"
Requires-Dist: flake8-aaa (>=0.11,<0.12); extra == "pre-commit"
Requires-Dist: flake8-annotations (>=2.4,<3.0); extra == "pre-commit"
Requires-Dist: flake8-bandit (>=2.1.2,<3.0.0); extra == "pre-commit"
Requires-Dist: flake8-broken-line (>=0.3,<0.4); extra == "pre-commit"
Requires-Dist: flake8-bugbear (>=20.11,<21.0); extra == "pre-commit"
Requires-Dist: flake8-cognitive-complexity (>=0.1,<0.2); extra == "pre-commit"
Requires-Dist: flake8-comprehensions (>=3.3,<4.0); extra == "pre-commit"
Requires-Dist: flake8-docstrings (>=1.5,<2.0); extra == "pre-commit"
Requires-Dist: flake8-eradicate (>=1,<2); extra == "pre-commit"
Requires-Dist: flake8-logging-format (>=0.6,<0.7); extra == "pre-commit"
Requires-Dist: flake8-mutable (>=1.2,<2.0); extra == "pre-commit"
Requires-Dist: flake8-no-u-prefixed-strings (>=0.2,<0.3); extra == "pre-commit"
Requires-Dist: flake8-pytest-style (>=1.3,<2.0); extra == "pre-commit"
Requires-Dist: flake8-rst-docstrings (>=0.0.14,<0.0.15); extra == "pre-commit"
Requires-Dist: flake8-simplify (>=0.12,<0.13); extra == "pre-commit"
Requires-Dist: flake8-sql (>=0.4.1,<0.5.0); extra == "pre-commit"
Requires-Dist: flake8-string-format (>=0.3,<0.4); extra == "pre-commit"
Requires-Dist: flake8-typing-imports (>=1.10.1,<2.0.0); extra == "pre-commit"
Requires-Dist: flake8-use-fstring (>=1.1,<2.0); extra == "pre-commit"
Requires-Dist: flake8-variables-names (>=0.0.3,<0.0.4); extra == "pre-commit"
Requires-Dist: flake8-walrus (>=1.1,<2.0); (python_version >= "3.8") and (extra == "pre-commit")
Requires-Dist: flakehell (==0.8.0); extra == "pre-commit"
Requires-Dist: flask (>=1.1.2,<2.0.0); extra == "flask" or extra == "testing" or extra == "docs"
Requires-Dist: importlib-metadata (>=1.6,<4.0); python_version < "3.8"
Requires-Dist: m2r2 (>=0.2.7,<0.3.0); extra == "docs"
Requires-Dist: mock (>=4.0.3,<5.0.0); extra == "testing"
Requires-Dist: mypy (==0.790); extra == "pre-commit"
Requires-Dist: nox (>=2020.12.31,<2021.0.0); extra == "nox" or extra == "testing" or extra == "docs" or extra == "dev_nox"
Requires-Dist: pep8-naming (>=0.11,<0.12); extra == "pre-commit"
Requires-Dist: poetry (>=1.1.4,<2.0.0); extra == "poetry"
Requires-Dist: pre-commit (>=2.9,<3.0); extra == "pre-commit"
Requires-Dist: psutil (>=5.8.0,<6.0.0); extra == "testing"
Requires-Dist: pydocstyle (>=5.1,<6.0)
Requires-Dist: pyenchant (>=3.2,<4.0); extra == "pre-commit"
Requires-Dist: pylint (>=2.6,<3.0); extra == "pre-commit"
Requires-Dist: pytest (>=6,<7); extra == "testing"
Requires-Dist: pytest-cov (>=2.10.1,<3.0.0); extra == "testing"
Requires-Dist: pytest-flask (>=1.0,<2.0); extra == "testing"
Requires-Dist: pytest-mock (>=3.5.1,<4.0.0); extra == "testing"
Requires-Dist: pytest-randomly (>=3.5,<4.0); extra == "testing"
Requires-Dist: pytest-sugar (>=0.9.4,<0.10.0); extra == "testing"
Requires-Dist: pytest-xdist (>=2.2,<3.0); extra == "testing"
Requires-Dist: python-dotenv (>=0.15,<0.16)
Requires-Dist: safety (>=1.9,<2.0); extra == "safety"
Requires-Dist: sphinx (>=3.1,<4.0); extra == "docs" or extra == "pre-commit"
Requires-Dist: sphinx-autobuild (==2020.9.1); extra == "sphinx-autobuild"
Requires-Dist: sphinx-autodoc-typehints (>=1.11,<2.0); extra == "docs"
Requires-Dist: sphinx-rtd-theme (>=0.5.1,<0.6.0); extra == "docs"
Requires-Dist: sphinxcontrib-apidoc (>=0.3,<0.4); extra == "docs"
Requires-Dist: sphinxcontrib-spelling (>=7.1,<8.0); extra == "docs"
Requires-Dist: tomlkit (>=0.7.0,<1.0.0); extra == "dev_nox" or extra == "tomlkit"
Requires-Dist: tox (>=3.21,<4.0); extra == "tox"
Requires-Dist: twine (>=3.3,<4.0); extra == "twine"
Project-URL: Changelog, https://formelsammlung.readthedocs.io/en/latest/changelog
Project-URL: Documentation, https://formelsammlung.readthedocs.io
Project-URL: Issue Tracker, https://github.com/Cielquan/formelsammlung/issues
Project-URL: Source, https://github.com/Cielquan/formelsammlung
Description-Content-Type: text/x-rst

==============
formelsammlung
==============

+-------------------+---------------------------------------------------------------------------------------------+
| **General**       | |maintenance_n| |license| |rtd|                                                             |
|                   +---------------------------------------------------------------------------------------------+
|                   | |semver|                                                                                    |
+-------------------+---------------------------------------------------------------------------------------------+
| **PyPI**          | |pypi_release| |pypi_py_versions| |pypi_implementations|                                    |
|                   +---------------------------------------------------------------------------------------------+
|                   | |pypi_status| |pypi_format| |pypi_downloads|                                                |
+-------------------+---------------------------------------------------------------------------------------------+
| **Pipeline**      | |gha_test_code| |codeclimate_cov|                                                           |
|                   +---------------------------------------------------------------------------------------------+
|                   | |gha_code_quality| |codeclimate_maintain|                                                   |
|                   +---------------------------------------------------------------------------------------------+
|                   | |gha_test_docs| |gha_dep_safety|                                                            |
+-------------------+---------------------------------------------------------------------------------------------+
| **Github**        | |gh_release| |gh_commits_since| |gh_last_commit|                                            |
|                   +---------------------------------------------------------------------------------------------+
|                   | |gh_stars| |gh_forks| |gh_contributors| |gh_watchers|                                       |
+-------------------+---------------------------------------------------------------------------------------------+


**Collection of different multipurpose functions.**

This library is a collection of different functions I developed which I use in different
projects so I put them here. New features are added when I need them somewhere.


Functionality
=============

- ``getenv_typed()``: is a wrapper around ``os.getenv`` returning the value of the environment variable in the correct python type.
- ``calculate_string()``: takes an arithmetic expression as a string and calculates it.
- ``SphinxDocServer``: is a flask plugin to serve the repository's docs build as HTML (by sphinx). Needs ``flask`` extra to be also installed to work.
- ``env_exe_runner()``: is a function to call a given ``tool`` from the first venv/tox/nox environment that has it installed in a list of venv/tox/nox environments.
- ``get_venv_path()``: is a function to get the path to the current venv.
- ``get_venv_bin_dir()``: is a function to get the path to the bin/Scripts dir of a given venv.
- ``get_venv_tmp_dir()``: is a function to get the path to the tmp/temp dir of a given venv.
- ``get_venv_site_packages_dir()``: is a function to get the path to the site-packages dir of a given venv.
- ``where_installed()``: is a function to find the installation places in and outside a venv.
- ``session_w_poetry``: decorator to change ``nox`` session class to include ``poetry_install()`` method.


Prerequisites
=============

*Works only with python version >= 3.6*

A new version of ``pip`` that supports PEP-517/PEP-518 is required.
When the setup fails try updating ``pip``.


Disclaimer
==========

No active maintenance is intended for this project.
You may leave an issue if you have a questions, bug report or feature request,
but I cannot promise a quick response time.


License
=======

This project is licensed under the GPL-3.0 or later.


.. ############################### LINKS FOR BADGES ###############################


.. Change badges in docs/source/_badges.rst also


.. General

.. |maintenance_n| image:: https://img.shields.io/badge/Maintenance%20Intended-✖-red.svg?style=flat-square
    :target: http://unmaintained.tech/
    :alt: Maintenance - not intended

.. |maintenance_y| image:: https://img.shields.io/badge/Maintenance%20Intended-✔-green.svg?style=flat-square
    :target: http://unmaintained.tech/
    :alt: Maintenance - intended

.. |license| image:: https://img.shields.io/github/license/Cielquan/formelsammlung.svg?style=flat-square&label=License
    :target: https://github.com/Cielquan/formelsammlung/blob/main/LICENSE
    :alt: License

.. |rtd| image:: https://img.shields.io/readthedocs/formelsammlung/latest.svg?style=flat-square&logo=read-the-docs&logoColor=white&label=Read%20the%20Docs
    :target: https://formelsammlung.readthedocs.io/en/latest/
    :alt: Read the Docs - Build Status (latest)

.. |semver| image:: https://img.shields.io/badge/Semantic%20Versioning-2.0.0-brightgreen.svg?style=flat-square
    :target: https://semver.org/
    :alt: Semantic Versioning - 2.0.0


.. PyPI

.. |pypi_release| image:: https://img.shields.io/pypi/v/formelsammlung.svg?style=flat-square&logo=pypi&logoColor=FBE072
    :target: https://pypi.org/project/formelsammlung/
    :alt: PyPI - Package latest release

.. |pypi_py_versions| image:: https://img.shields.io/pypi/pyversions/formelsammlung.svg?style=flat-square&logo=python&logoColor=FBE072
    :target: https://pypi.org/project/formelsammlung/
    :alt: PyPI - Supported Python Versions

.. |pypi_implementations| image:: https://img.shields.io/pypi/implementation/formelsammlung.svg?style=flat-square&logo=python&logoColor=FBE072
    :target: https://pypi.org/project/formelsammlung/
    :alt: PyPI - Supported Implementations

.. |pypi_status| image:: https://img.shields.io/pypi/status/formelsammlung.svg?style=flat-square&logo=pypi&logoColor=FBE072
    :target: https://pypi.org/project/formelsammlung/
    :alt: PyPI - Stability

.. |pypi_format| image:: https://img.shields.io/pypi/format/formelsammlung.svg?style=flat-square&logo=pypi&logoColor=FBE072
    :target: https://pypi.org/project/formelsammlung/
    :alt: PyPI - Format

.. |pypi_downloads| image:: https://img.shields.io/pypi/dm/formelsammlung.svg?style=flat-square&logo=pypi&logoColor=FBE072
    :target: https://pypi.org/project/formelsammlung/
    :alt: PyPI - Monthly downloads


.. Pipeline

.. |gha_test_code| image:: https://img.shields.io/github/workflow/status/Cielquan/formelsammlung/Test%20code/main?style=flat-square&logo=github&label=Test%20code
    :target: https://github.com/Cielquan/formelsammlung/actions?query=workflow%3A%22Test+code%22
    :alt: GitHub Actions - Test code

.. |codeclimate_cov| image:: https://img.shields.io/codeclimate/coverage/Cielquan/formelsammlung?style=flat-square&logo=code-climate
    :target: https://codeclimate.com/github/Cielquan/formelsammlung
    :alt: Code Climate - Coverage

.. |gha_code_quality| image:: https://img.shields.io/github/workflow/status/Cielquan/formelsammlung/Code%20qualitiy/main?style=flat-square&logo=github&label=Code%20qualitiy
    :target: https://github.com/Cielquan/formelsammlung/actions?query=workflow%3A%22Code+qualitiy%22
    :alt: GitHub Actions - Code qualitiy

.. add pre-commit-ci badge when usable
.. .. |pre-commit-ci| image:: https://results.pre-commit.ci/badge/github/Cielquan/formelsammlung/main.svg
..    :target: https://results.pre-commit.ci/latest/github/Cielquan/formelsammlung/main
..    :alt: pre-commit.ci status

.. |codeclimate_maintain| image:: https://img.shields.io/codeclimate/maintainability/Cielquan/formelsammlung?style=flat-square&logo=code-climate
    :target: https://codeclimate.com/github/Cielquan/formelsammlung
    :alt: Code Climate - Maintainability

.. |gha_test_docs| image:: https://img.shields.io/github/workflow/status/Cielquan/formelsammlung/Test%20documentation/main?style=flat-square&logo=github&label=Test%20documentation
    :target: https://github.com/Cielquan/formelsammlung/actions?query=workflow%3A%22Test+documentation%22
    :alt: GitHub Actions - Test docs

.. |gha_dep_safety| image:: https://img.shields.io/github/workflow/status/Cielquan/formelsammlung/Dependency%20safety/main?style=flat-square&logo=github&label=Dependency%20safety
    :target: https://github.com/Cielquan/formelsammlung/actions?query=workflow%3A%22Dependency+safety%22
    :alt: GitHub Actions - Dependency safety

.. TODO:#i# readd dependabot badge when https://github.com/dependabot/dependabot-core/issues/1912 is fixed

.. |dependabot| image:: https://api.dependabot.com/badges/status?host=github&repo=Cielquan/formelsammlung
    :target: https://dependabot.com
    :alt: Dependabot status


.. GitHub

.. |gh_release| image:: https://img.shields.io/github/v/release/Cielquan/formelsammlung.svg?style=flat-square&logo=github
    :target: https://github.com/Cielquan/formelsammlung/releases/latest
    :alt: Github - Latest Release

.. |gh_commits_since| image:: https://img.shields.io/github/commits-since/Cielquan/formelsammlung/latest.svg?style=flat-square&logo=github
    :target: https://github.com/Cielquan/formelsammlung/commits/main
    :alt: GitHub - Commits since latest release

.. |gh_last_commit| image:: https://img.shields.io/github/last-commit/Cielquan/formelsammlung.svg?style=flat-square&logo=github
    :target: https://github.com/Cielquan/formelsammlung/commits/main
    :alt: GitHub - Last Commit

.. |gh_stars| image:: https://img.shields.io/github/stars/Cielquan/formelsammlung.svg?style=flat-square&logo=github
    :target: https://github.com/Cielquan/formelsammlung/stargazers
    :alt: Github - Stars

.. |gh_forks| image:: https://img.shields.io/github/forks/Cielquan/formelsammlung.svg?style=flat-square&logo=github
    :target: https://github.com/Cielquan/formelsammlung/network/members
    :alt: Github - Forks

.. |gh_contributors| image:: https://img.shields.io/github/contributors/Cielquan/formelsammlung.svg?style=flat-square&logo=github
    :target: https://github.com/Cielquan/formelsammlung/graphs/contributors
    :alt: Github - Contributors

.. |gh_watchers| image:: https://img.shields.io/github/watchers/Cielquan/formelsammlung.svg?style=flat-square&logo=github
    :target: https://github.com/Cielquan/formelsammlung/watchers/
    :alt: Github - Watchers

