Skip to main content

binx

https://img.shields.io/pypi/v/binx.svg https://circleci.com/gh/bsnacks000/binx.svg?style=svg Documentation Status
version:

0.4.2

binx is a small Python framework for application data modeling and transformation. It’s API relies heavily on marshmallow for validation, object serialization and storage. It’s true purpose however is to expose an API that allows developers to model procedural code into directed, acyclic graphs of arbitrary complexity. A user can define an application or library as a family of binx.Collection objects (nodes) and use the binx.adapter module (edges) to create a network of data transformations while guaranteeing data integrity along the way.

The main goal of the project is to provide a simple API for data scientists, engineers or developers who write alot of procedural code to be able to organize their projects using a declarative style similar to how one might approach writing a web application using DRY principles.

==^..^==

Features

This set of interfaces are designed to help you quickly scale up your notebooks/scripts and create uniformity between your projects!

binx provides:

  • A declarative style in memory datastore (collections.py)

  • A declarative Adapter API that helps model/manage relationships and data transformations between collections (adapter.py)

  • consistent API for moving your data between json, py-objs, and pandas dataframes

History

0.1.2 (2018-05-28)

  • Port initial API from bema project

  • Port original unittests

  • change marshmallow api to 2.x

0.2.0 (2018-07-03)

  • Built adapter module and related functionality

  • removed calc_factory API (possibly will be re-included in a later build)

  • created the CollectionBuilder class

0.2.1 (2018-07-12)

  • patched issue relating to datetime/datestrings not being parsed by collections

0.2.2 (2018-07-26)

  • patched issue relating to introspection of required columns (issue #7-#8)

0.2.3 (2018-10-01)

  • clean up and fixes to cli

0.3.0 (2019-07-14)

Fixes some long standing issues and adds some new features.

  • adapter.py - kwarg to accumulate optionally accumulate intermediate collections in adapter chain

  • registry.py - A user warning is issued instead of exception if an identical class path name is overwritten

  • collection.py - fixed errors related to creating dataframes from NoneType

  • adapter.py - added a new base class PluggableAdapter to ease development of the adapter chain

  • collection.py - CollectionBuilder.build now excepts an optional name arg. Will attempt to auto-parse name from serializer_class.

0.3.1 (2019-07-15)

  • Adds a context variable to the AdapterChainError that can be accessed if the error is caught

0.3.2 (2019-08-21)

Final release that is compatible with marshmallow 2.x

  • Pins marshmallow to v0.20.2

  • Final release supporting marshmallow 2.x functionality

0.4.0 (2019-08-23)

A minor release that internally breaks backward compatibility with marshmallow-2.x. Adds new feature to that allows loading data and setting ma configuration directly from Collection constructor.

  • private api changes to Serializer and Collection classes.

  • data can now be loaded via the Collection constructor.

  • kwargs can be passed to the underlying ma schema at runtime.

0.4.1 (2019-09-23)

A patch that pins the library to marshmallow-v3.1.1

0.4.2 (2019-10-27)

Bugfix that fixes the dependency in the previous patch. This version is compatible with marshmallow>=3.1.1. Also assures pandas>=0.23 in setup.py

Release files for binx 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for binx 0.4.2
File Size Uploaded
binx-0.4.2.tar.gz 36.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for binx 0.4.2
File Interpreter ABI Platform
binx-0.4.2-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 52.4 kB

Release files / binx-0.4.2.tar.gz

Download URL binx-0.4.2.tar.gz
Size 36.3 kB
Tags Source
SHA-256 checksum
How to use checksums
e57a0045e89631e1f99234a171bfbe969933adc74b7a983b3a82983f4de2760e
BLAKE2b-256 checksum
How to use checksums
b96cda2f1f489c4d984b8d0a1481cdc82e6eef73fa2966f17955a3ce08fde2f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.34.0 CPython/3.7.2

Release files / binx-0.4.2-py2.py3-none-any.whl

Download URL binx-0.4.2-py2.py3-none-any.whl
Size 16.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
cd848757681d3c6ce5286d0075e4795d5c1c74f431228dd8eed3477f49134d93
BLAKE2b-256 checksum
How to use checksums
837477c13282f59cc141b7c259f4c337b75fdd2119fad17f858f79bb77a61648
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.34.0 CPython/3.7.2

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page