ingestr 0.7.0__tar.gz → 0.7.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.

Potentially problematic release.


This version of ingestr might be problematic. Click here for more details.

Files changed (87) hide show
  1. {ingestr-0.7.0 → ingestr-0.7.1}/PKG-INFO +2 -1
  2. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/main.py +15 -0
  3. ingestr-0.7.1/ingestr/src/version.py +1 -0
  4. {ingestr-0.7.0 → ingestr-0.7.1}/requirements.txt +4 -3
  5. ingestr-0.7.0/ingestr/src/version.py +0 -1
  6. {ingestr-0.7.0 → ingestr-0.7.1}/.dockerignore +0 -0
  7. {ingestr-0.7.0 → ingestr-0.7.1}/.github/workflows/deploy-docs.yml +0 -0
  8. {ingestr-0.7.0 → ingestr-0.7.1}/.github/workflows/docker.yml +0 -0
  9. {ingestr-0.7.0 → ingestr-0.7.1}/.github/workflows/tests.yml +0 -0
  10. {ingestr-0.7.0 → ingestr-0.7.1}/.gitignore +0 -0
  11. {ingestr-0.7.0 → ingestr-0.7.1}/.python-version +0 -0
  12. {ingestr-0.7.0 → ingestr-0.7.1}/Dockerfile +0 -0
  13. {ingestr-0.7.0 → ingestr-0.7.1}/LICENSE.md +0 -0
  14. {ingestr-0.7.0 → ingestr-0.7.1}/Makefile +0 -0
  15. {ingestr-0.7.0 → ingestr-0.7.1}/README.md +0 -0
  16. {ingestr-0.7.0 → ingestr-0.7.1}/docs/.vitepress/config.mjs +0 -0
  17. {ingestr-0.7.0 → ingestr-0.7.1}/docs/.vitepress/theme/custom.css +0 -0
  18. {ingestr-0.7.0 → ingestr-0.7.1}/docs/.vitepress/theme/index.js +0 -0
  19. {ingestr-0.7.0 → ingestr-0.7.1}/docs/commands/example-uris.md +0 -0
  20. {ingestr-0.7.0 → ingestr-0.7.1}/docs/commands/ingest.md +0 -0
  21. {ingestr-0.7.0 → ingestr-0.7.1}/docs/getting-started/core-concepts.md +0 -0
  22. {ingestr-0.7.0 → ingestr-0.7.1}/docs/getting-started/incremental-loading.md +0 -0
  23. {ingestr-0.7.0 → ingestr-0.7.1}/docs/getting-started/quickstart.md +0 -0
  24. {ingestr-0.7.0 → ingestr-0.7.1}/docs/getting-started/telemetry.md +0 -0
  25. {ingestr-0.7.0 → ingestr-0.7.1}/docs/index.md +0 -0
  26. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/bigquery.md +0 -0
  27. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/csv.md +0 -0
  28. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/databricks.md +0 -0
  29. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/duckdb.md +0 -0
  30. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/gorgias.md +0 -0
  31. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/gsheets.md +0 -0
  32. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/mongodb.md +0 -0
  33. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/mssql.md +0 -0
  34. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/mysql.md +0 -0
  35. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/notion.md +0 -0
  36. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/oracle.md +0 -0
  37. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/overview.md +0 -0
  38. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/postgres.md +0 -0
  39. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/redshift.md +0 -0
  40. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/sap-hana.md +0 -0
  41. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/shopify.md +0 -0
  42. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/snowflake.md +0 -0
  43. {ingestr-0.7.0 → ingestr-0.7.1}/docs/supported-sources/sqlite.md +0 -0
  44. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/destinations.py +0 -0
  45. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/factory.py +0 -0
  46. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/google_sheets/README.md +0 -0
  47. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/google_sheets/__init__.py +0 -0
  48. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/google_sheets/helpers/__init__.py +0 -0
  49. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/google_sheets/helpers/api_calls.py +0 -0
  50. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/google_sheets/helpers/data_processing.py +0 -0
  51. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/gorgias/__init__.py +0 -0
  52. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/gorgias/helpers.py +0 -0
  53. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/mongodb/__init__.py +0 -0
  54. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/mongodb/helpers.py +0 -0
  55. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/notion/__init__.py +0 -0
  56. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/notion/helpers/__init__.py +0 -0
  57. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/notion/helpers/client.py +0 -0
  58. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/notion/helpers/database.py +0 -0
  59. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/notion/settings.py +0 -0
  60. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/shopify/__init__.py +0 -0
  61. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/shopify/exceptions.py +0 -0
  62. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/shopify/helpers.py +0 -0
  63. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/shopify/settings.py +0 -0
  64. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/sources.py +0 -0
  65. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/sql_database/__init__.py +0 -0
  66. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/sql_database/arrow_helpers.py +0 -0
  67. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/sql_database/helpers.py +0 -0
  68. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/sql_database/override.py +0 -0
  69. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/sql_database/schema_types.py +0 -0
  70. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/table_definition.py +0 -0
  71. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/telemetry/event.py +0 -0
  72. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/src/testdata/fakebqcredentials.json +0 -0
  73. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/testdata/.gitignore +0 -0
  74. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/testdata/create_replace.csv +0 -0
  75. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/testdata/delete_insert_expected.csv +0 -0
  76. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/testdata/delete_insert_part1.csv +0 -0
  77. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/testdata/delete_insert_part2.csv +0 -0
  78. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/testdata/merge_expected.csv +0 -0
  79. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/testdata/merge_part1.csv +0 -0
  80. {ingestr-0.7.0 → ingestr-0.7.1}/ingestr/testdata/merge_part2.csv +0 -0
  81. {ingestr-0.7.0 → ingestr-0.7.1}/package-lock.json +0 -0
  82. {ingestr-0.7.0 → ingestr-0.7.1}/package.json +0 -0
  83. {ingestr-0.7.0 → ingestr-0.7.1}/pyproject.toml +0 -0
  84. {ingestr-0.7.0 → ingestr-0.7.1}/requirements-dev.txt +0 -0
  85. {ingestr-0.7.0 → ingestr-0.7.1}/resources/demo.gif +0 -0
  86. {ingestr-0.7.0 → ingestr-0.7.1}/resources/demo.tape +0 -0
  87. {ingestr-0.7.0 → ingestr-0.7.1}/resources/ingestr.svg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: ingestr
3
- Version: 0.7.0
3
+ Version: 0.7.1
4
4
  Summary: ingestr is a command-line application that ingests data from various sources and stores them in any database.
5
5
  Project-URL: Homepage, https://github.com/bruin-data/ingestr
6
6
  Project-URL: Issues, https://github.com/bruin-data/ingestr/issues
@@ -14,6 +14,7 @@ Classifier: Operating System :: OS Independent
14
14
  Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Topic :: Database
16
16
  Requires-Python: >=3.9
17
+ Requires-Dist: connectorx==0.3.3
17
18
  Requires-Dist: cx-oracle==8.3.0
18
19
  Requires-Dist: databricks-sql-connector==2.9.3
19
20
  Requires-Dist: dlt==0.5.1
@@ -104,6 +104,7 @@ class LoaderFileFormat(str, Enum):
104
104
  class SqlBackend(str, Enum):
105
105
  sqlalchemy = "sqlalchemy"
106
106
  pyarrow = "pyarrow"
107
+ connectorx = "connectorx"
107
108
 
108
109
 
109
110
  class Progress(str, Enum):
@@ -111,6 +112,11 @@ class Progress(str, Enum):
111
112
  log = "log"
112
113
 
113
114
 
115
+ class SchemaNaming(str, Enum):
116
+ default = "default"
117
+ direct = "direct"
118
+
119
+
114
120
  @app.command()
115
121
  def ingest(
116
122
  source_uri: Annotated[
@@ -223,6 +229,13 @@ def ingest(
223
229
  envvar="LOADER_FILE_SIZE",
224
230
  ),
225
231
  ] = 100000, # type: ignore
232
+ schema_naming: Annotated[
233
+ SchemaNaming,
234
+ typer.Option(
235
+ help="The naming convention to use when moving the tables from source to destination. The default behavior is explained here: https://dlthub.com/docs/general-usage/schema#naming-convention",
236
+ envvar="SCHEMA_NAMING",
237
+ ),
238
+ ] = SchemaNaming.default, # type: ignore
226
239
  ):
227
240
  track(
228
241
  "command_triggered",
@@ -234,6 +247,8 @@ def ingest(
234
247
  dlt.config["normalize.parquet_normalizer.add_dlt_load_id"] = True
235
248
  dlt.config["normalize.parquet_normalizer.add_dlt_id"] = True
236
249
  dlt.config["data_writer.file_max_items"] = loader_file_size
250
+ if schema_naming != SchemaNaming.default:
251
+ dlt.config["schema.naming"] = schema_naming.value
237
252
 
238
253
  try:
239
254
  if not dest_table:
@@ -0,0 +1 @@
1
+ __version__ = "0.7.1"
@@ -1,10 +1,12 @@
1
+ connectorx==0.3.3
1
2
  cx_Oracle==8.3.0
2
3
  databricks-sql-connector==2.9.3
3
4
  dlt==0.5.1
4
5
  duckdb_engine==0.11.5
5
6
  duckdb==0.10.2
6
- google-cloud-bigquery-storage==2.24.0
7
7
  google-api-python-client==2.130.0
8
+ google-cloud-bigquery-storage==2.24.0
9
+ mysql-connector-python==9.0.0
8
10
  pendulum==3.0.0
9
11
  psycopg2-binary==2.9.9
10
12
  py-machineid==0.5.1
@@ -17,10 +19,9 @@ rich==13.7.1
17
19
  rudder-sdk-python==2.1.0
18
20
  snowflake-sqlalchemy==1.5.3
19
21
  sqlalchemy-bigquery==1.11.0
22
+ sqlalchemy-hana==2.0.0
20
23
  sqlalchemy-redshift==0.8.14
21
24
  SQLAlchemy==1.4.52
22
25
  sqlalchemy2-stubs==0.0.2a38
23
26
  tqdm==4.66.2
24
27
  typer==0.12.3
25
- sqlalchemy-hana==2.0.0
26
- mysql-connector-python==9.0.0
@@ -1 +0,0 @@
1
- __version__ = "0.7.0"
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