Skip to content

toolbox-python

github-release implementation version python-versions
os pypi-status pypi-format github-license pypi-downloads codecov-repo style
contributions
CI CD

Introduction🔗

The purpose of this package is to provide some helper files/functions/classes for generic Python processes.

Key URLs🔗

For reference, these URL's are used:

Type Source URL
Git Repo GitHub https://github.com/data-science-extensions/toolbox-python
Python Package PyPI https://pypi.org/project/toolbox-python
Package Docs Pages https://data-science-extensions.com/python-toolbox/

Installation🔗

You can install and use this package multiple ways by using pip, uv, pipenv, or poetry.

Using pip:🔗

  1. In your terminal, run:

    python3 -m pip install --upgrade pip
    python3 -m pip install toolbox-python
    
  2. Or, in your requirements.txt file, add:

    toolbox-python
    

    Then run:

    python3 -m pip install --upgrade pip
    python3 -m pip install --requirement=requirements.txt
    

Using uv:🔗

  1. In your terminal, run:

    uv add toolbox-python
    

Using pipenv:🔗

  1. Install using environment variables:

    In your Pipfile file, add:

    [[source]]
    url = "https://pypi.org/simple"
    verify_ssl = false
    name = "pypi"
    
    [packages]
    toolbox-python = "*"
    

    Then run:

    python3 -m pip install pipenv
    python3 -m pipenv install --verbose --skip-lock --categories=root index=pypi toolbox-python
    
  2. Or, in your requirements.txt file, add:

    toolbox-python
    

    Then run:

    python3 -m run pipenv install --verbose --skip-lock --requirements=requirements.txt
    
  3. Or just run this:

    python3 -m pipenv install --verbose --skip-lock toolbox-python
    

Using poetry:🔗

  1. In your pyproject.toml file, add:

    [tool.poetry.dependencies]
    toolbox-python = "*"
    

    Then run:

    poetry install
    
  2. Or just run this:

    poetry add toolbox-python
    poetry install
    poetry sync
    

Contribution🔗

Contribution is always welcome.

  1. First, either fork or branch the main repo.

  2. Clone your forked/branched repo.

  3. Build your environment:

    1. With uv on Windows:

      uv sync --all-groups
      uv run pre-commit install
      
    2. With uv on Linux:

      uv sync --all-groups
      uv run pre-commit install
      
  4. Start contributing.

  5. When you're happy with the changes, raise a Pull Request to merge with the main branch again.

Build and Test🔗

To ensure that the package is working as expected, please ensure that:

  1. You write your code as per PEP8 requirements.
  2. You write a UnitTest for each function/feature you include.
  3. The CodeCoverage is 100%.
  4. All UnitTests are passing.
  5. Type Checking is passing 100%.
  6. Complexity is within the required standard.
  7. Docstrings are correctly formatted.

Testing🔗

  • Run them all together:

    uv run src/utils/scripts.py check
    
  • Or run them individually:

    • Black:

      uv run src/utils/scripts.py check-black
      

    • PyTests:

      uv run src/utils/scripts.py check-pytest
      

    • Type Checking:

      uv run src/utils/scripts.py check-ty
      

    • Complexity:

      uv run src/utils/scripts.py check-complexity
      

    • Docstrings:

      uv run src/utils/scripts.py check-docstrings