Skip to main content

Implements the Google Partial Response protocol in Python

Project description

Build Status Coverage Status PyPI Version

Overview

Implements Google Partial Response / json-mask in Python.

jsonmask_ng is a fork of jsonmask from Zapier that seems discontinued.

Requirements

  • Python 3.7
  • Python 3.8
  • Python 3.9
  • Python 3.10
  • Python 3.11

Installation

Install jsonmask_ng with pip:

$ pip install jsonmask_ng

or directly from the source code:

$ git clone https://github.com/juanyque/jsonmask_ng.git
$ cd jsonmask_ng
$ python setup.py install

Usage

After installation, the package can imported:

$ python
>>> import jsonmask_ng
>>> jsonmask_ng.__version__

To prune dictionaries:

>>> import jsonmask_ng
>>> mask = jsonmask_ng.parse_fields('a,b(c,d)')
>>> jsonmask_ng.apply_json_mask(
    {
        'a': {
            'nested_within_a': True,
        },
        'b': {
            'c': True,
            'd': {'Will get included?': 'Yes'},
            'e': 'Tough luck here',
        },
        'c': 'Definitely hopeless',
    },
    mask,
)

Output:

{
    'a': {
        'nested_within_a': True,
    },
    'b': {
        'c': True,
        'd': {'Will get included?': 'Yes'},
    },
}

Contribute

To setup an appropriate dev environment:

  • With docker environment available

  • run: `./docker_start.sh``

  • run tests make test

  • Clean (test, cache, ...) make clean

  • Clean (test, cache, ... including virtualenv) make clean-all (you will need a make all after this)

  • Build dist package: make build

  • Set PyPI credentials: poetry config pypi-token.pypi pypi-xxxxxTOKENXxxx (find token in ~/.pypirc file or create a new one on https://pypi.org/manage/account/token/)

  • Build dist package: make upload

Util commands:

  • To fix poetry.lock with minimal changes: poetry lock --no-update
  • To fix poetry.lock updating package versions: poetry lock (this could don't work)
  • After poetry lock... probably you will need to do make all to update packages on virtualenv

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

jsonmask_ng-0.4.5.tar.gz (8.2 kB view hashes)

Uploaded Source

Built Distribution

jsonmask_ng-0.4.5-py3-none-any.whl (8.9 kB view hashes)

Uploaded Python 3

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