Skip to main content

Swiss army knife for functional data-science projects.

Project description

GitHub Pages PyPI

swak

Swiss army knife for functional data-science projects.

Introduction

This package is a collection of small, modular, and composable building blocks implementing frequently occurring operations in typical data-science applications. In abstracting away boiler-plate code, it thus saves time and effort.

  • Consolidate all the ways to configure your project (command-line arguments, environment variables, and config files) with the cli and io packages, respectively.
  • Wrap the project config into a versatile jsonobject.
  • Focus on writing small, configurable, modular, reusable, and testable building blocks. Then use the flow controls in funcflow to compose them into arbitrarily complex workflows, that are still easy to maintain and to expand.
  • Use the provided pandas and polars building blocks to get you started.
  • Quickly set up projects on Google BigQuery and Google Cloud as well as AWS object Storage, and efficiently download lots of data in parallel with the cloud sub-package.
  • Build powerful neural-network architectures from the elements in pt and train your deep-learning models with early stopping and checkpointing. From feature embedding, over feature importance, to repeated residual blocks, a broad variety of options is available.
  • And much more ...

Installation

  • Create a new virtual environment running at least python 3.12.
  • The easiest way of installing swak is from the python package index PyPI, where it is hosted. Simply type
    pip install swak
    
    or treat it like any other python package in your dependency management.
  • If you need support for interacting with the Google Cloud Project, in particular Google BigQuery and Google Cloud Storage, install extra dependencies with:
    pip install swak[gcp]
    
  • Likewise, If you need support for interacting with Amazon AWS, in particular with S3, install extra dependencies with:
    pip install swak[aws]
    
  • In order to use the subpackage swak.pt, you need to have PyTorch installed. Because there is no way of knowing whether you want to run it on CPU only or also on GPU and, if so, which version of CUDA (or ROC) you have installed on your machine and how, it is not an explicit dependency of swak. You will have to install it yourself, e.g., following these instructions. If you are using pipenv for dependency management, you can also have a look at the Pipfile in the root of the swak repository and taylor it to your needs. Personally, I go
    pipenv sync --categories=cpu
    
    for a CPU-only installation of PyTorch and
    pipenv sync --categories=cuda
    
    if I want GPU support.

Usage

Try making a new repository using the swak-template as a, well, template.

Documentation

The API documentation to swak is hosted on GitHub Pages.

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

swak-1.2.0.tar.gz (153.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

swak-1.2.0-py3-none-any.whl (267.4 kB view details)

Uploaded Python 3

File details

Details for the file swak-1.2.0.tar.gz.

File metadata

  • Download URL: swak-1.2.0.tar.gz
  • Upload date:
  • Size: 153.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for swak-1.2.0.tar.gz
Algorithm Hash digest
SHA256 afcb19c48f4e14d31346cfb0ecf93d6bb71a2ce78b4ab5923ff2fea24f813e18
MD5 e8236abcda957495b1b2c4749593e80a
BLAKE2b-256 97cd09dd449a328f7e213827aee6bb0433a3555dc8a516ec6a7c5943c4c4b98d

See more details on using hashes here.

Provenance

The following attestation bundles were made for swak-1.2.0.tar.gz:

Publisher: publish-package.yml on yedivanseven/swak

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file swak-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: swak-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 267.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for swak-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3ed4a1f905433e9bac0e1574f91733686486f6b47ee8e77523b049e622bbc8a2
MD5 b309df2d15a7880f3881b169c8838f72
BLAKE2b-256 ae61e4f0c036c2a580a3c2141b6834ba62da3adb8ce77a49a2b0747412ddb1d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for swak-1.2.0-py3-none-any.whl:

Publisher: publish-package.yml on yedivanseven/swak

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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