Skip to main content

A Python library of data structures optimized for machine learning tasks

Project description

py4ai core

PyPI Python version Documentation Python package


A Python library defining data structures optimized for machine learning pipelines

What is it ?

py4ai-core is a Python package with modular design that provides powerful abstractions to build data ingestion pipelines and run end to end machine learning pipelines. The library offers lightweight object-oriented interface to MongoDB as well as Pandas based data structures. The aim of the library is to provide extensive support for developing machine learning based applications with a focus on practicing clean code and modular design.

Features

Some cool features that we are proud to mention are:

Logging

  1. configFromFiles: utility function to configure loggers according to configuration files, giving options to capture warnings and to define which logger to use to capture errors.
  2. WithLogging: Base class setting up the logger property defining a logger named according to the class to be used in descendant classes.

Configurations

Offers a unified framework to parse and store yaml configuration files:

  1. get_confs_in_path: Retrieve all configuration files from system path, with given extension.
  2. merge_confs : merge given configuration files.
  3. BaseConfig : Basic configuration class. This class implements utility methods to retrieve configuration sub-levels and values. An instance of this class can be updated merging other instances of the same class.
  4. Some pre-implemented configuration classes for some common use cases like: FileSystemConfig, LoggingConfig, MongoConfig and many more.

Installation

From pypi server

pip install py4ai-core

From source

git clone https://github.com/NicolaDonelli/py4ai-core
cd py4ai-core
make install

Tests

make tests

Checks

To run predefined checks (unit-tests, linting checks, formatting checks and static typing checks):

make checks

How to contribute ?

We are very much willing to welcome any kind of contribution whether it is bug report, bug fixes, contributions to the existing codebase or improving the documentation.

Where to start ?

Please look at the Github issues tab to start working on open issues

Contributing to py4ai-core

Please make sure the general guidelines for contributing to the code base are respected

  1. Fork the py4ai-core repository.
  2. Create/choose an issue to work on in the Github issues page.
  3. Create a new branch to work on the issue.
  4. Commit your changes and run the tests to make sure the changes do not break any test.
  5. Open a Pull Request on Github referencing the issue.
  6. Once the PR is approved, the maintainers will merge it on the main branch.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py4ai-core-1.0.2.tar.gz (38.9 kB view details)

Uploaded Source

Built Distribution

py4ai_core-1.0.2-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file py4ai-core-1.0.2.tar.gz.

File metadata

  • Download URL: py4ai-core-1.0.2.tar.gz
  • Upload date:
  • Size: 38.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for py4ai-core-1.0.2.tar.gz
Algorithm Hash digest
SHA256 9caba9a198bcf0b06436ac2f5dea931373b113d287cf8cec8ee18624ce45f6d2
MD5 c2bd14f507be597f4e531428cb88f215
BLAKE2b-256 036f1ec81ff49e68b51c6120fbd0d6764107297fe0c8cb9700f9749232e7dcfe

See more details on using hashes here.

File details

Details for the file py4ai_core-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: py4ai_core-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for py4ai_core-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c2bb902b7966d61a095a66c2268ae05b43079d9826451d3bf4ee261caa466a16
MD5 f18c86c1c1f00e36cfa563da98dbce7c
BLAKE2b-256 687ade8c232c82bd5cd3ce65b86b6b13d2bb51e0c152e8be887e30bccd197ea5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page