ingestr 0.7.1__tar.gz → 0.7.4__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.
- ingestr-0.7.1/.github/workflows/docker.yml → ingestr-0.7.4/.github/workflows/tests.yml +31 -27
- ingestr-0.7.4/Dockerfile +37 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/PKG-INFO +1 -2
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/main.py +1 -3
- ingestr-0.7.4/ingestr/src/version.py +1 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/requirements.txt +0 -1
- ingestr-0.7.1/.github/workflows/tests.yml +0 -36
- ingestr-0.7.1/Dockerfile +0 -19
- ingestr-0.7.1/ingestr/src/version.py +0 -1
- {ingestr-0.7.1 → ingestr-0.7.4}/.dockerignore +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/.github/workflows/deploy-docs.yml +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/.gitignore +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/.python-version +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/LICENSE.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/Makefile +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/README.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/.vitepress/config.mjs +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/.vitepress/theme/custom.css +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/.vitepress/theme/index.js +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/commands/example-uris.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/commands/ingest.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/getting-started/core-concepts.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/getting-started/incremental-loading.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/getting-started/quickstart.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/getting-started/telemetry.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/index.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/bigquery.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/csv.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/databricks.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/duckdb.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/gorgias.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/gsheets.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/mongodb.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/mssql.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/mysql.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/notion.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/oracle.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/overview.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/postgres.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/redshift.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/sap-hana.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/shopify.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/snowflake.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/docs/supported-sources/sqlite.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/destinations.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/factory.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/google_sheets/README.md +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/google_sheets/__init__.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/google_sheets/helpers/__init__.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/google_sheets/helpers/api_calls.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/google_sheets/helpers/data_processing.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/gorgias/__init__.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/gorgias/helpers.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/mongodb/__init__.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/mongodb/helpers.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/notion/__init__.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/notion/helpers/__init__.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/notion/helpers/client.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/notion/helpers/database.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/notion/settings.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/shopify/__init__.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/shopify/exceptions.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/shopify/helpers.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/shopify/settings.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/sources.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/sql_database/__init__.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/sql_database/arrow_helpers.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/sql_database/helpers.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/sql_database/override.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/sql_database/schema_types.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/table_definition.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/telemetry/event.py +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/src/testdata/fakebqcredentials.json +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/testdata/.gitignore +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/testdata/create_replace.csv +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/testdata/delete_insert_expected.csv +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/testdata/delete_insert_part1.csv +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/testdata/delete_insert_part2.csv +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/testdata/merge_expected.csv +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/testdata/merge_part1.csv +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/ingestr/testdata/merge_part2.csv +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/package-lock.json +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/package.json +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/pyproject.toml +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/requirements-dev.txt +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/resources/demo.gif +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/resources/demo.tape +0 -0
- {ingestr-0.7.1 → ingestr-0.7.4}/resources/ingestr.svg +0 -0
|
@@ -5,43 +5,47 @@ on:
|
|
|
5
5
|
tags:
|
|
6
6
|
- "*"
|
|
7
7
|
workflow_dispatch: {}
|
|
8
|
+
pull_request:
|
|
9
|
+
branches:
|
|
10
|
+
- main
|
|
8
11
|
|
|
9
12
|
concurrency:
|
|
10
|
-
group:
|
|
11
|
-
cancel-in-progress:
|
|
13
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
14
|
+
cancel-in-progress: true
|
|
12
15
|
|
|
13
16
|
env:
|
|
14
17
|
REGISTRY: ghcr.io
|
|
15
18
|
IMAGE_NAME: ${{ github.repository }}
|
|
16
19
|
|
|
20
|
+
|
|
17
21
|
jobs:
|
|
18
|
-
tests:
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
22
|
+
# tests:
|
|
23
|
+
# runs-on: ubuntu-latest
|
|
24
|
+
# steps:
|
|
25
|
+
# - uses: actions/checkout@v4
|
|
26
|
+
# - name: install Microsoft ODBC
|
|
27
|
+
# run: sudo ACCEPT_EULA=Y apt-get install msodbcsql18 -y
|
|
28
|
+
# - uses: actions/setup-python@v4
|
|
29
|
+
# with:
|
|
30
|
+
# python-version: '3.11'
|
|
31
|
+
# cache: 'pip'
|
|
32
|
+
# - name: Cache dependencies
|
|
33
|
+
# uses: actions/cache@v3
|
|
34
|
+
# id: cache
|
|
35
|
+
# with:
|
|
36
|
+
# path: ${{ env.pythonLocation }}
|
|
37
|
+
# key: ${{ env.pythonLocation }}-${{ hashFiles('requirements.txt') }}
|
|
38
|
+
# - name: Install pip dependencies
|
|
39
|
+
# if: steps.cache.outputs.cache-hit != 'true'
|
|
40
|
+
# run: make deps-ci
|
|
41
|
+
# - name: run tests
|
|
42
|
+
# run: make test-ci
|
|
43
|
+
# - name: check the formatting
|
|
44
|
+
# run: make lint-ci
|
|
41
45
|
|
|
42
46
|
build-and-push-image:
|
|
43
|
-
needs: tests
|
|
44
|
-
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/')
|
|
47
|
+
# needs: tests
|
|
48
|
+
# if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/')
|
|
45
49
|
runs-on: ubuntu-latest
|
|
46
50
|
permissions:
|
|
47
51
|
contents: read
|
ingestr-0.7.4/Dockerfile
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
FROM python:3.11-slim
|
|
2
|
+
|
|
3
|
+
WORKDIR /app
|
|
4
|
+
|
|
5
|
+
COPY ./requirements.txt /app/requirements.txt
|
|
6
|
+
|
|
7
|
+
# Setup dependencies for pyodbc
|
|
8
|
+
RUN \
|
|
9
|
+
export ACCEPT_EULA='Y' && \
|
|
10
|
+
# Install build dependencies
|
|
11
|
+
apt-get update && \
|
|
12
|
+
apt-get install -y curl gcc libpq-dev build-essential unixodbc-dev g++ apt-transport-https
|
|
13
|
+
|
|
14
|
+
RUN \
|
|
15
|
+
# Install pyodbc db drivers for MSSQL and PostgreSQL
|
|
16
|
+
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /usr/share/keyrings/microsoft-prod.gpg && \
|
|
17
|
+
curl -sSL https://packages.microsoft.com/config/debian/12/prod.list | tee /etc/apt/sources.list.d/mssql-release.list
|
|
18
|
+
|
|
19
|
+
RUN \
|
|
20
|
+
# install the rest of them
|
|
21
|
+
apt-get update && \
|
|
22
|
+
ACCEPT_EULA=Y apt-get install -y msodbcsql18 odbc-postgresql && \
|
|
23
|
+
# Update odbcinst.ini to make sure full path to driver is listed, and set CommLog to 0. i.e disables any communication logs to be written to files
|
|
24
|
+
sed 's/Driver=psql/Driver=\/usr\/lib\/x86_64-linux-gnu\/odbc\/psql/;s/CommLog=1/CommLog=0/' /etc/odbcinst.ini > /tmp/temp.ini && \
|
|
25
|
+
mv -f /tmp/temp.ini /etc/odbcinst.ini
|
|
26
|
+
|
|
27
|
+
ENV VIRTUAL_ENV=/usr/local
|
|
28
|
+
ADD --chmod=755 https://astral.sh/uv/install.sh /install.sh
|
|
29
|
+
RUN /install.sh && rm /install.sh
|
|
30
|
+
|
|
31
|
+
RUN /root/.cargo/bin/uv pip install --system --no-cache -r requirements.txt
|
|
32
|
+
|
|
33
|
+
COPY . /app
|
|
34
|
+
|
|
35
|
+
RUN pip3 install -e .
|
|
36
|
+
|
|
37
|
+
ENTRYPOINT ["ingestr"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: ingestr
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.4
|
|
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,7 +14,6 @@ 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
|
|
18
17
|
Requires-Dist: cx-oracle==8.3.0
|
|
19
18
|
Requires-Dist: databricks-sql-connector==2.9.3
|
|
20
19
|
Requires-Dist: dlt==0.5.1
|
|
@@ -244,8 +244,6 @@ def ingest(
|
|
|
244
244
|
},
|
|
245
245
|
)
|
|
246
246
|
|
|
247
|
-
dlt.config["normalize.parquet_normalizer.add_dlt_load_id"] = True
|
|
248
|
-
dlt.config["normalize.parquet_normalizer.add_dlt_id"] = True
|
|
249
247
|
dlt.config["data_writer.file_max_items"] = loader_file_size
|
|
250
248
|
if schema_naming != SchemaNaming.default:
|
|
251
249
|
dlt.config["schema.naming"] = schema_naming.value
|
|
@@ -280,7 +278,7 @@ def ingest(
|
|
|
280
278
|
|
|
281
279
|
progressInstance: Collector = SpinnerCollector()
|
|
282
280
|
if progress == Progress.log:
|
|
283
|
-
progressInstance = LogCollector()
|
|
281
|
+
progressInstance = LogCollector(dump_system_stats=False)
|
|
284
282
|
|
|
285
283
|
pipeline = dlt.pipeline(
|
|
286
284
|
pipeline_name=m.hexdigest(),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.7.4"
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
on:
|
|
2
|
-
push:
|
|
3
|
-
branches:
|
|
4
|
-
- main
|
|
5
|
-
pull_request:
|
|
6
|
-
branches:
|
|
7
|
-
- main
|
|
8
|
-
|
|
9
|
-
concurrency:
|
|
10
|
-
group: ${{ github.workflow }}-${{ github.ref }}
|
|
11
|
-
cancel-in-progress: true
|
|
12
|
-
|
|
13
|
-
jobs:
|
|
14
|
-
tests:
|
|
15
|
-
runs-on: ubuntu-latest
|
|
16
|
-
steps:
|
|
17
|
-
- uses: actions/checkout@v4
|
|
18
|
-
- name: install Microsoft ODBC
|
|
19
|
-
run: sudo ACCEPT_EULA=Y apt-get install msodbcsql18 -y
|
|
20
|
-
- uses: actions/setup-python@v4
|
|
21
|
-
with:
|
|
22
|
-
python-version: '3.11'
|
|
23
|
-
cache: 'pip'
|
|
24
|
-
- name: Cache dependencies
|
|
25
|
-
uses: actions/cache@v3
|
|
26
|
-
id: cache
|
|
27
|
-
with:
|
|
28
|
-
path: ${{ env.pythonLocation }}
|
|
29
|
-
key: ${{ env.pythonLocation }}-${{ hashFiles('requirements.txt') }}
|
|
30
|
-
- name: Install pip dependencies
|
|
31
|
-
if: steps.cache.outputs.cache-hit != 'true'
|
|
32
|
-
run: make deps-ci
|
|
33
|
-
- name: run tests
|
|
34
|
-
run: make test-ci
|
|
35
|
-
- name: check the formatting
|
|
36
|
-
run: make lint-ci
|
ingestr-0.7.1/Dockerfile
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
FROM python:3.11-slim
|
|
2
|
-
|
|
3
|
-
WORKDIR /app
|
|
4
|
-
|
|
5
|
-
COPY ./requirements.txt /app/requirements.txt
|
|
6
|
-
|
|
7
|
-
RUN apt-get update && apt-get -y install libpq-dev gcc curl g++
|
|
8
|
-
|
|
9
|
-
ENV VIRTUAL_ENV=/usr/local
|
|
10
|
-
ADD --chmod=755 https://astral.sh/uv/install.sh /install.sh
|
|
11
|
-
RUN /install.sh && rm /install.sh
|
|
12
|
-
|
|
13
|
-
RUN /root/.cargo/bin/uv pip install --system --no-cache -r requirements.txt
|
|
14
|
-
|
|
15
|
-
COPY . /app
|
|
16
|
-
|
|
17
|
-
RUN pip3 install -e .
|
|
18
|
-
|
|
19
|
-
ENTRYPOINT ["ingestr"]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.7.1"
|
|
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
|