etlplus 0.9.0__tar.gz → 0.9.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {etlplus-0.9.0/etlplus.egg-info → etlplus-0.9.1}/PKG-INFO +1 -1
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/commands.py +18 -18
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/enums.py +51 -1
- {etlplus-0.9.0 → etlplus-0.9.1/etlplus.egg-info}/PKG-INFO +1 -1
- {etlplus-0.9.0 → etlplus-0.9.1}/.coveragerc +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/.editorconfig +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/.gitattributes +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/.github/actions/python-bootstrap/action.yml +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/.github/workflows/ci.yml +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/.gitignore +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/.pre-commit-config.yaml +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/.ruff.toml +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/CODE_OF_CONDUCT.md +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/CONTRIBUTING.md +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/DEMO.md +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/LICENSE +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/MANIFEST.in +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/Makefile +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/README.md +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/REFERENCES.md +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/docs/README.md +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/docs/pipeline-guide.md +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/docs/snippets/installation_version.md +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/__init__.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/__main__.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/__version__.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/README.md +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/__init__.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/auth.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/config.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/endpoint_client.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/errors.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/pagination/__init__.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/pagination/client.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/pagination/config.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/pagination/paginator.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/rate_limiting/__init__.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/rate_limiting/config.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/rate_limiting/rate_limiter.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/request_manager.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/retry_manager.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/transport.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/api/types.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/__init__.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/constants.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/handlers.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/io.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/main.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/options.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/state.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/cli/types.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/config/__init__.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/config/connector.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/config/jobs.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/config/pipeline.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/config/profile.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/config/types.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/config/utils.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/database/__init__.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/database/ddl.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/database/engine.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/database/orm.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/database/schema.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/database/types.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/extract.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/file.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/load.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/mixins.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/py.typed +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/run.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/run_helpers.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/templates/__init__.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/templates/ddl.sql.j2 +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/templates/view.sql.j2 +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/transform.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/types.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/utils.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/validate.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/validation/__init__.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus/validation/utils.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus.egg-info/SOURCES.txt +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus.egg-info/dependency_links.txt +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus.egg-info/entry_points.txt +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus.egg-info/requires.txt +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/etlplus.egg-info/top_level.txt +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/examples/README.md +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/examples/configs/ddl_spec.yml +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/examples/configs/pipeline.yml +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/examples/data/sample.csv +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/examples/data/sample.json +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/examples/data/sample.xml +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/examples/data/sample.xsd +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/examples/data/sample.yaml +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/examples/quickstart_python.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/pyproject.toml +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/pytest.ini +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/setup.cfg +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/setup.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/__init__.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/conftest.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/conftest.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_cli.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_examples_data_parity.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_pagination_strategy.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_pipeline_smoke.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_pipeline_yaml_load.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_run.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_run_profile_pagination_defaults.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/integration/test_i_run_profile_rate_limit_defaults.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/conftest.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_auth.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_config.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_endpoint_client.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_mocks.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_pagination_client.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_pagination_config.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_paginator.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_rate_limit_config.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_rate_limiter.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_request_manager.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_retry_manager.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_transport.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/api/test_u_types.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/cli/conftest.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/cli/test_u_cli_handlers.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/cli/test_u_cli_main.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/cli/test_u_cli_state.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/config/test_u_config_utils.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/config/test_u_connector.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/config/test_u_jobs.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/config/test_u_pipeline.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/conftest.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/database/test_u_database_ddl.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/database/test_u_database_engine.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/database/test_u_database_orm.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/database/test_u_database_schema.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_enums.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_extract.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_file.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_load.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_main.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_mixins.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_run.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_run_helpers.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_transform.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_utils.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_validate.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/test_u_version.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tests/unit/validation/test_u_validation_utils.py +0 -0
- {etlplus-0.9.0 → etlplus-0.9.1}/tools/update_demo_snippets.py +0 -0
|
@@ -443,9 +443,9 @@ def extract_cmd(
|
|
|
443
443
|
Source (JSON payload, file/folder path, URL/URI, or - for STDIN)
|
|
444
444
|
from which to extract data. Default is ``-``.
|
|
445
445
|
source_format : SourceFormatOption, optional
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
446
|
+
Data source format. Overrides the inferred format (``csv``, ``json``,
|
|
447
|
+
etc.) based on filename extension or STDIN content. Default is
|
|
448
|
+
``None``.
|
|
449
449
|
source_type : SourceTypeOption, optional
|
|
450
450
|
Data source type. Overrides the inferred type (``api``, ``database``,
|
|
451
451
|
``file``, ``folder``) based on URI/URL schema. Default is ``None``.
|
|
@@ -523,15 +523,15 @@ def load_cmd(
|
|
|
523
523
|
ctx : typer.Context
|
|
524
524
|
The Typer context.
|
|
525
525
|
source_format : SourceFormatOption, optional
|
|
526
|
-
|
|
527
|
-
|
|
526
|
+
Data source format. Overrides the inferred format (``csv``, ``json``,
|
|
527
|
+
etc.) based on filename extension or STDIN content. Default is
|
|
528
|
+
``None``.
|
|
528
529
|
target : TargetArg, optional
|
|
529
530
|
Target (file/folder path, URL/URI, or - for STDOUT) into which to load
|
|
530
531
|
data. Default is ``-``.
|
|
531
532
|
target_format : TargetFormatOption, optional
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
``None``.
|
|
533
|
+
Target data format. Overrides the inferred format (``csv``, ``json``,
|
|
534
|
+
etc.) based on filename extension. Default is ``None``.
|
|
535
535
|
target_type : TargetTypeOption, optional
|
|
536
536
|
Data target type. Overrides the inferred type (``api``, ``database``,
|
|
537
537
|
``file``, ``folder``) based on URI/URL schema. Default is ``None``.
|
|
@@ -760,9 +760,9 @@ def transform_cmd(
|
|
|
760
760
|
Source (JSON payload, file/folder path, URL/URI, or - for STDIN) from
|
|
761
761
|
which to extract data. Default is ``-``.
|
|
762
762
|
source_format : SourceFormatOption, optional
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
763
|
+
Data source format. Overrides the inferred format (``csv``, ``json``,
|
|
764
|
+
etc.) based on filename extension or STDIN content. Default is
|
|
765
|
+
``None``.
|
|
766
766
|
source_type : SourceTypeOption, optional
|
|
767
767
|
Data source type. Overrides the inferred type (``api``, ``database``,
|
|
768
768
|
``file``, ``folder``) based on URI/URL schema. Default is ``None``.
|
|
@@ -770,9 +770,8 @@ def transform_cmd(
|
|
|
770
770
|
Target (file/folder path, URL/URI, or - for STDOUT) into which to load
|
|
771
771
|
data. Default is ``-``.
|
|
772
772
|
target_format : TargetFormatOption, optional
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
``None``.
|
|
773
|
+
Target data format. Overrides the inferred format (``csv``, ``json``,
|
|
774
|
+
etc.) based on filename extension. Default is ``None``.
|
|
776
775
|
target_type : TargetTypeOption, optional
|
|
777
776
|
Data target type. Overrides the inferred type (``api``, ``database``,
|
|
778
777
|
``file``, ``folder``) based on URI/URL schema. Default is ``None``.
|
|
@@ -876,11 +875,12 @@ def validate_cmd(
|
|
|
876
875
|
source : SourceArg
|
|
877
876
|
Data source to validate (path, JSON payload, or - for STDIN).
|
|
878
877
|
source_format : SourceFormatOption, optional
|
|
879
|
-
|
|
880
|
-
Default is
|
|
881
|
-
source_type : SourceTypeOption, optional
|
|
882
|
-
Override the inferred source type (file, database, api). Default is
|
|
878
|
+
Data source format. Overrides the inferred format (``csv``, ``json``,
|
|
879
|
+
etc.) based on filename extension or STDIN content. Default is
|
|
883
880
|
``None``.
|
|
881
|
+
source_type : SourceTypeOption, optional
|
|
882
|
+
Data source type. Overrides the inferred type (``api``, ``database``,
|
|
883
|
+
``file``, ``folder``) based on URI/URL schema. Default is ``None``.
|
|
884
884
|
output : OutputOption, optional
|
|
885
885
|
Output file for validated output (- for STDOUT). Default is ``None``.
|
|
886
886
|
|
|
@@ -208,8 +208,19 @@ class FileFormat(CoercibleStrEnum):
|
|
|
208
208
|
|
|
209
209
|
# -- Constants -- #
|
|
210
210
|
|
|
211
|
+
AVRO = 'avro'
|
|
211
212
|
CSV = 'csv'
|
|
213
|
+
FEATHER = 'feather'
|
|
214
|
+
GZ = 'gz'
|
|
212
215
|
JSON = 'json'
|
|
216
|
+
NDJSON = 'ndjson'
|
|
217
|
+
ORC = 'orc'
|
|
218
|
+
PARQUET = 'parquet'
|
|
219
|
+
TSV = 'tsv'
|
|
220
|
+
TXT = 'txt'
|
|
221
|
+
XLS = 'xls'
|
|
222
|
+
XLSX = 'xlsx'
|
|
223
|
+
ZIP = 'zip'
|
|
213
224
|
XML = 'xml'
|
|
214
225
|
YAML = 'yaml'
|
|
215
226
|
|
|
@@ -227,11 +238,50 @@ class FileFormat(CoercibleStrEnum):
|
|
|
227
238
|
"""
|
|
228
239
|
return {
|
|
229
240
|
# Common shorthand
|
|
241
|
+
'parq': 'parquet',
|
|
230
242
|
'yml': 'yaml',
|
|
243
|
+
# File extensions
|
|
244
|
+
'.avro': 'avro',
|
|
245
|
+
'.csv': 'csv',
|
|
246
|
+
'.feather': 'feather',
|
|
247
|
+
'.gz': 'gz',
|
|
248
|
+
'.json': 'json',
|
|
249
|
+
'.jsonl': 'ndjson',
|
|
250
|
+
'.ndjson': 'ndjson',
|
|
251
|
+
'.orc': 'orc',
|
|
252
|
+
'.parquet': 'parquet',
|
|
253
|
+
'.pq': 'parquet',
|
|
254
|
+
'.tsv': 'tsv',
|
|
255
|
+
'.txt': 'txt',
|
|
256
|
+
'.xls': 'xls',
|
|
257
|
+
'.xlsx': 'xlsx',
|
|
258
|
+
'.zip': 'zip',
|
|
259
|
+
'.xml': 'xml',
|
|
260
|
+
'.yaml': 'yaml',
|
|
261
|
+
'.yml': 'yaml',
|
|
231
262
|
# MIME types
|
|
232
|
-
'
|
|
263
|
+
'application/avro': 'avro',
|
|
264
|
+
'application/feather': 'feather',
|
|
265
|
+
'application/gzip': 'gz',
|
|
233
266
|
'application/json': 'json',
|
|
267
|
+
'application/jsonlines': 'ndjson',
|
|
268
|
+
'application/ndjson': 'ndjson',
|
|
269
|
+
'application/orc': 'orc',
|
|
270
|
+
'application/vnd.apache.arrow.file': 'feather',
|
|
271
|
+
'application/vnd.apache.orc': 'orc',
|
|
272
|
+
'application/vnd.ms-excel': 'xls',
|
|
273
|
+
(
|
|
274
|
+
'application/vnd.openxmlformats-'
|
|
275
|
+
'officedocument.spreadsheetml.sheet'
|
|
276
|
+
): 'xlsx',
|
|
277
|
+
'application/x-avro': 'avro',
|
|
278
|
+
'application/x-ndjson': 'ndjson',
|
|
279
|
+
'application/x-parquet': 'parquet',
|
|
234
280
|
'application/xml': 'xml',
|
|
281
|
+
'application/zip': 'zip',
|
|
282
|
+
'text/csv': 'csv',
|
|
283
|
+
'text/plain': 'txt',
|
|
284
|
+
'text/tab-separated-values': 'tsv',
|
|
235
285
|
}
|
|
236
286
|
|
|
237
287
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|