Python toolz, by Alex Ioannides (AI).
Project description
aitoolz
Various Python tools, by Alex Ioannides (AI). Some of them might be useful for artificial intelligence, some of them might not.
Installing
You can install aitoolz from PyPI using
pip install aitoolz
Alternatively, you can install directly from the main
branch of this repo via
pip install git+https://github.com/alexioannides/aitoolz.git@main
Where the @XXXX
component of the URI can be substituted for any branch, tag or commit hash. See the pip docs for more info.
Features
A brief overview of the core tools:
Template Python Package Projects
The aitoolz.make_project
module exposes the create_python_pkg_project
function that can create empty Python package projects to speed-up development. This includes:
- Executable tests via PyTest.
- Fully configured code formatting and checking using Ruff and Black.
- Fully configured static type checking using MyPy.
- Dev task automation using Nox.
- Fully configured CICD using GitHub Actions.
This is an opinionated setup that reflects how I like to develop projects. This can also be called from the command line using the Make Empty Project (MEP) command - e.g.,
mep my_package
Where my_package
can be replaced with any valid Python module name. Either of these commands will create a directory structure and skeleton files,
my_package
├── .github
│ └── workflows
│ ├── python-package-ci.yml
│ └── python-package-cd.yml
├── .gitignore
├── README.md
├── noxfile.py
├── pyproject.toml
├── src
│ └── my_package
│ ├── __init__.py
│ └── hello_world.py
└── tests
└── test_hello_world.py
This has been tested to be installable and for all dev tasks automated with Nox to pass - use nox --list
to see them all.
Find External Dependencies in a Python Module or Source Folder
The aitoolz.find_imports
module exposes the find_imports
function that returns a list of all package dependencies imported into a Python module or source folder - i.e., all dependencies that are not in the Python standard library.
This can also be called from the command line - e.g.,
find-imports src/my_package
Or,
find-imports my_module.py
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 aitoolz-0.2.0.tar.gz
.
File metadata
- Download URL: aitoolz-0.2.0.tar.gz
- Upload date:
- Size: 21.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6222320741b1c124193d190e1bfd6b6d3f966a38339d59bdd177a53d06fa6e24 |
|
MD5 | b74d578e8f32c320a639134107b88931 |
|
BLAKE2b-256 | 791aa164eb8df20189fcb80d13f278db1e10632de0b1a8f28a2593adc083fa02 |
File details
Details for the file aitoolz-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: aitoolz-0.2.0-py3-none-any.whl
- Upload date:
- Size: 21.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2fbf47e65c3df880d012351e48851b3dd075165166f372a1eb5536f9c0ef338 |
|
MD5 | a719b21e500ca472364f2b5de512b9f3 |
|
BLAKE2b-256 | 5d1d1ba3fd7d978eabbcfc406d159b33d11c0625fb9d7d02bce7cb9af1bba27c |