A utility library for working with data flows in Python and ElasticSearch
Project description
dataflows-elasticsearch
Dataflows's processors to work with ElasticSearch
Features
dump_to_elasticsearchprocessor
Contents
Getting Started
Installation
The package use semantic versioning. It means that major versions could include breaking changes. It's recommended to specify package version range in your setup/requirements file e.g. package>=1.0,<2.0.
$ pip install dataflows-elasticsearch
Examples
These processors have to be used as a part of a dataflows Flow. For example:
flow = Flow(
load('data/data.csv'),
dump_to_es(
engine='localhost:9200',
),
)
flow.process()
Documentation
dump_to_es
Saves the Flow to an ElasticSearch Index.
Parameters
indexes- Mapping of indexe names to resource names, e.g.
{
'index-name-1': {
'resource-name': 'resource-name-1',
},
'index-name-2': {
'resource-name': 'resource-name-2',
},
# ...
}
mapper_cls- Class to be used to map json table schema types into ElasticSearch typesindex_settings- Options to be used when creating the ElasticSearch indexengine- Connection string for connecting the ElasticSearch instance, or anElasticsearchobject. Can also be of the formenv://ENV_VAR, in which case the connection string will be fetched from the environment variableENV_VAR.elasticsearch_options- Options to be used when creating theElasticsearchobject (in case it wasn't provided)
Contributing
The project follows the Open Knowledge International coding standards.
The recommended way to get started is to create and activate a project virtual environment. To install package and development dependencies into your active environment:
$ make install
To run tests with linting and coverage:
$ make test
For linting, pylama (configured in pylama.ini) is used. At this stage it's already
installed into your environment and could be used separately with more fine-grained control
as described in documentation - https://pylama.readthedocs.io/en/latest/.
For example to sort results by error type:
$ pylama --sort <path>
For testing, tox (configured in tox.ini) is used.
It's already installed into your environment and could be used separately with more fine-grained control as described in documentation - https://testrun.org/tox/latest/.
For example to check subset of tests against Python 2 environment with increased verbosity.
All positional arguments and options after -- will be passed to py.test:
tox -e py37 -- -v tests/<path>
Under the hood tox uses pytest (configured in pytest.ini), coverage
and mock packages. These packages are available only in tox envionments.
Changelog
The full changelog and documentation for all released versions can be found in the nicely formatted commit history.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dataflows-elasticsearch-0.1.0.tar.gz.
File metadata
- Download URL: dataflows-elasticsearch-0.1.0.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5c07b5ac5c597377efba070f7432bece067fe1d440a508e73ed4c1a84a240e9
|
|
| MD5 |
40aa86f1cd75359c3e974fda10f0ac4d
|
|
| BLAKE2b-256 |
f0b8d227d7781e5b515e995cd50516eabae932d47edc1809ce249aa516097346
|
File details
Details for the file dataflows_elasticsearch-0.1.0-py2.py3-none-any.whl.
File metadata
- Download URL: dataflows_elasticsearch-0.1.0-py2.py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
794cc1b759392875c6742048c4269c647523efac9aa1c7bf64516415e3df2649
|
|
| MD5 |
6ba11d6dffb9a5533666b1b37175c874
|
|
| BLAKE2b-256 |
e28be925e4e8b09324d71169b9010d9cfdf17060bd83137358f387840c1e1fa9
|