Skip to main content

Python mapper library

Project description

py-mapper

Python Mapper Library

How to use this library

1. Mapping Flat Dictionary
from pymapper import Mapper

mapper = Mapper({
    'dest_1': '$source_1',
    'dest_2': '$source_2'
})

result = mapper.map({
    'source_1': 1,
    'source_2': 'Lorem ipsum',
    'source_3': 3.4
})
# result = {'dest_1': 1, 'dest_2': 'Lorem ipsum'}
2. Mapping Nested Dictionary
from pymapper import Mapper

mapper = Mapper({
    'dest_1': {
        'dest_2': '$source_1.source_2'
    },
    'dest_2': '$source_1.source_3.source_4'
})

result = mapper.map({
    'source_1': {
        'source_2': [1, 2, 3],
        'source_3': {
            'source_4': 5
        }
    },
})
# result = {'dest_1': {'dest_2': [1, 2, 3]}, 'dest_2': 5}
3. Mapping a List of Dictionaries
from pymapper import Mapper

mapper = Mapper({
    'dest_1': {
        'dest_2': '$source_1.source_2'
    },
    'dest_2': '$source_1.source_3.source_4'
})

result = mapper.map([
    {
        'source_1': {
            'source_2': [1, 2, 3],
            'source_3': {
                'source_4': 5
            }
        }
    },
    {
        'source_1': {
            'source_2': [4, 5, 6],
            'source_3': {
                'source_4': 7
            }
        }
    }
])
# result = [{'dest_1': {'dest_2': [1, 2, 3]}, 'dest_2': 5}, {'dest_1': {'dest_2': [4, 5, 6]}, 'dest_2': 7}]

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

py-mapper-1.1.0a0.tar.gz (3.6 kB view details)

Uploaded Source

File details

Details for the file py-mapper-1.1.0a0.tar.gz.

File metadata

  • Download URL: py-mapper-1.1.0a0.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for py-mapper-1.1.0a0.tar.gz
Algorithm Hash digest
SHA256 7a11b35e6c19ce520511834d6de4a1ed789c527a84e8cbe159a52f77f32bd172
MD5 b4d6cdafd128f1941915b84ce7b7ae84
BLAKE2b-256 ffdb668723c0a858e69509789ab5fb79d90bf91c02b017d5a96aec8c5b0d8872

See more details on using hashes here.

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