tap-erpnext 0.1.0__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.
@@ -0,0 +1,20 @@
1
+ # ERPNext Configuration
2
+ # Copy this file to .env and fill in your actual values
3
+
4
+ # Required: API URL of the ERPNext instance
5
+ TAP_ERPNEXT_API_URL=https://kalmijnconsulting.jh.frappe.cloud
6
+
7
+ # Required: ERPNext API key
8
+ TAP_ERPNEXT_API_KEY=1377f67924bc4d8
9
+ # Required: ERPNext API secret
10
+ TAP_ERPNEXT_API_SECRET=8be3e90b7b3dc62
11
+
12
+ # Optional: The earliest record date to sync (ISO format, in ERPNext server timezone)
13
+ TAP_ERPNEXT_START_DATE=2023-01-01T00:00:00
14
+
15
+ # Optional: Number of records to fetch per API request
16
+ TAP_ERPNEXT_LIMIT_PAGE_LENGTH=200
17
+
18
+ # Optional: Comma-separated list of DocType names to sync (leave empty to sync all)
19
+ # Example: TAP_ERPNEXT_DOCTYPES=Sales Invoice,Customer,Item
20
+ TAP_ERPNEXT_DOCTYPES=
@@ -0,0 +1,36 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: uv
9
+ directory: "/"
10
+ schedule:
11
+ interval: weekly
12
+ commit-message:
13
+ prefix: "chore(deps): "
14
+ prefix-development: "chore(deps-dev): "
15
+ groups:
16
+ development-dependencies:
17
+ dependency-type: development
18
+ runtime-dependencies:
19
+ dependency-type: production
20
+ update-types:
21
+ - "patch"
22
+ versioning-strategy: increase-if-necessary
23
+ cooldown:
24
+ default-days: 7
25
+ - package-ecosystem: github-actions
26
+ directory: "/"
27
+ schedule:
28
+ interval: weekly
29
+ commit-message:
30
+ prefix: "ci: "
31
+ groups:
32
+ actions:
33
+ patterns:
34
+ - "*"
35
+ cooldown:
36
+ default-days: 7
@@ -0,0 +1,52 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags: ["*"]
6
+
7
+ concurrency:
8
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
9
+ cancel-in-progress: true
10
+
11
+ env:
12
+ FORCE_COLOR: 1
13
+
14
+ permissions:
15
+ contents: read # read repository contents
16
+
17
+ jobs:
18
+ build:
19
+ name: Build Wheel and SDist
20
+ runs-on: ubuntu-latest
21
+ outputs:
22
+ name: ${{ steps.baipp.outputs.package_name }}
23
+ version: ${{ steps.baipp.outputs.package_version }}
24
+ steps:
25
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
26
+ with:
27
+ fetch-depth: 0
28
+ persist-credentials: false
29
+ - uses: hynek/build-and-inspect-python-package@d44ca7d91762de7a7d5436ddae667c6da6d1c3df # v2.18.0
30
+ id: baipp
31
+
32
+ publish:
33
+ name: Publish to PyPI
34
+ runs-on: ubuntu-latest
35
+ needs: [build]
36
+ permissions:
37
+ id-token: write # Needed for OIDC PyPI publishing
38
+ ## TODO: optionally provide the name of the environment for the trusted
39
+ ## publisher on PyPI
40
+ ## https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment
41
+ # environment:
42
+ # name: pypi
43
+ # url: https://pypi.org/project/${{ needs.build.outputs.name }}/${{ needs.build.outputs.version }}
44
+ steps:
45
+ - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
46
+ with:
47
+ name: Packages
48
+ path: dist
49
+ - name: Publish
50
+ ## TODO: create a trusted publisher on PyPI
51
+ ## https://docs.pypi.org/trusted-publishers/
52
+ uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0
@@ -0,0 +1,31 @@
1
+ name: GitHub Actions Security Analysis with zizmor 🌈
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ pull_request:
7
+ branches: ["**"]
8
+
9
+ concurrency:
10
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
11
+ cancel-in-progress: true
12
+
13
+ env:
14
+ FORCE_COLOR: "1"
15
+
16
+ permissions: {}
17
+
18
+ jobs:
19
+ zizmor:
20
+ name: Run zizmor 🌈
21
+ runs-on: ubuntu-latest
22
+ permissions:
23
+ security-events: write # for GitHub's Advanced Security via zizmor
24
+ steps:
25
+ - name: Checkout repository
26
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
27
+ with:
28
+ persist-credentials: false
29
+
30
+ - name: Run zizmor 🌈
31
+ uses: zizmorcore/zizmor-action@b1d7e1fb5de872772f31590499237e7cce841e8e # v0.5.3
@@ -0,0 +1,81 @@
1
+ ### A CI workflow template that runs linting and python testing
2
+ ### TODO: Modify as needed or as desired.
3
+
4
+ name: Test tap-erpnext
5
+
6
+ on:
7
+ push:
8
+ branches: [main]
9
+ paths:
10
+ - .github/workflows/test.yml
11
+ - tap_erpnext/**
12
+ - tests/**
13
+ - pyproject.toml
14
+ - uv.lock
15
+ pull_request:
16
+ paths:
17
+ - .github/workflows/test.yml
18
+ - tap_erpnext/**
19
+ - tests/**
20
+ - pyproject.toml
21
+ - uv.lock
22
+ workflow_dispatch:
23
+
24
+ concurrency:
25
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
26
+ cancel-in-progress: true
27
+
28
+ env:
29
+ FORCE_COLOR: 1
30
+
31
+ permissions:
32
+ contents: read # read repository contents
33
+
34
+ jobs:
35
+ build-package:
36
+ name: Build & verify package
37
+ runs-on: ubuntu-latest
38
+ outputs:
39
+ supported-python-versions: ${{ steps.baipp.outputs.supported_python_classifiers_json_array }}
40
+ steps:
41
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
42
+ with:
43
+ fetch-depth: 0
44
+ persist-credentials: false
45
+ - uses: hynek/build-and-inspect-python-package@d44ca7d91762de7a7d5436ddae667c6da6d1c3df # v2.18.0
46
+ id: baipp
47
+
48
+ pytest:
49
+ name: Test
50
+ needs: [build-package]
51
+ runs-on: ubuntu-latest
52
+ strategy:
53
+ matrix:
54
+ python-version: ${{ fromJson(needs.build-package.outputs.supported-python-versions) }}
55
+ steps:
56
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
57
+ with:
58
+ persist-credentials: false
59
+ - name: Setup uv
60
+ uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
61
+ with:
62
+ python-version: ${{ matrix.python-version }}
63
+ - name: Run Tox
64
+ run: | # zizmor: ignore[template-injection]
65
+ uvx --with=tox-uv tox -e ${{ matrix.python-version }}
66
+
67
+ typing:
68
+ name: Type Checking
69
+ runs-on: ubuntu-latest
70
+ steps:
71
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
72
+ with:
73
+ persist-credentials: false
74
+ - name: Setup uv
75
+ uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
76
+ - name: Run Tox
77
+ run: >
78
+ uvx
79
+ --managed-python
80
+ --with=tox-uv
81
+ tox -e typing
@@ -0,0 +1,136 @@
1
+ # Secrets and internal config files
2
+ config.json
3
+
4
+ # Ignore meltano internal cache and sqlite systemdb
5
+
6
+ .meltano/
7
+
8
+ # Byte-compiled / optimized / DLL files
9
+ __pycache__/
10
+ *.py[cod]
11
+ *$py.class
12
+
13
+ # C extensions
14
+ *.so
15
+
16
+ # Distribution / packaging
17
+ .Python
18
+ build/
19
+ develop-eggs/
20
+ dist/
21
+ downloads/
22
+ eggs/
23
+ .eggs/
24
+ lib/
25
+ lib64/
26
+ parts/
27
+ sdist/
28
+ var/
29
+ wheels/
30
+ pip-wheel-metadata/
31
+ share/python-wheels/
32
+ *.egg-info/
33
+ .installed.cfg
34
+ *.egg
35
+ MANIFEST
36
+
37
+ # PyInstaller
38
+ # Usually these files are written by a python script from a template
39
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
40
+ *.manifest
41
+ *.spec
42
+
43
+ # Installer logs
44
+ pip-log.txt
45
+ pip-delete-this-directory.txt
46
+
47
+ # Unit test / coverage reports
48
+ htmlcov/
49
+ .tox/
50
+ .nox/
51
+ .coverage
52
+ .coverage.*
53
+ .cache
54
+ nosetests.xml
55
+ coverage.xml
56
+ *.cover
57
+ *.py,cover
58
+ .hypothesis/
59
+ .pytest_cache/
60
+
61
+ # Translations
62
+ *.mo
63
+ *.pot
64
+
65
+ # Django stuff:
66
+ *.log
67
+ local_settings.py
68
+ db.sqlite3
69
+ db.sqlite3-journal
70
+
71
+ # Flask stuff:
72
+ instance/
73
+ .webassets-cache
74
+
75
+ # Scrapy stuff:
76
+ .scrapy
77
+
78
+ # Sphinx documentation
79
+ docs/_build/
80
+
81
+ # PyBuilder
82
+ target/
83
+
84
+ # Jupyter Notebook
85
+ .ipynb_checkpoints
86
+
87
+ # IPython
88
+ profile_default/
89
+ ipython_config.py
90
+
91
+ # pyenv
92
+ .python-version
93
+
94
+ # pipenv
95
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
96
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
97
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
98
+ # install all needed dependencies.
99
+ #Pipfile.lock
100
+
101
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
102
+ __pypackages__/
103
+
104
+ # Celery stuff
105
+ celerybeat-schedule
106
+ celerybeat.pid
107
+
108
+ # SageMath parsed files
109
+ *.sage.py
110
+
111
+ # Environments
112
+ .env
113
+ .venv
114
+ env/
115
+ venv/
116
+ ENV/
117
+ env.bak/
118
+ venv.bak/
119
+
120
+ # Spyder project settings
121
+ .spyderproject
122
+ .spyproject
123
+
124
+ # Rope project settings
125
+ .ropeproject
126
+
127
+ # mkdocs documentation
128
+ /site
129
+
130
+ # mypy
131
+ .mypy_cache/
132
+ .dmypy.json
133
+ dmypy.json
134
+
135
+ # Pyre type checker
136
+ .pyre/
@@ -0,0 +1,48 @@
1
+ ci:
2
+ autofix_prs: true
3
+ autofix_commit_msg: "style: pre-commit fixes"
4
+ autoupdate_schedule: monthly
5
+ autoupdate_commit_msg: 'chore: pre-commit autoupdate'
6
+
7
+ repos:
8
+ - repo: https://github.com/pre-commit/pre-commit-hooks
9
+ rev: v6.0.0
10
+ hooks:
11
+ - id: check-json
12
+ exclude: |
13
+ (?x)^(
14
+ .*/launch.json
15
+ )$
16
+ - id: check-toml
17
+ - id: check-yaml
18
+ - id: end-of-file-fixer
19
+ - id: trailing-whitespace
20
+
21
+ - repo: https://github.com/zizmorcore/zizmor-pre-commit
22
+ rev: v1.24.1
23
+ hooks:
24
+ - id: zizmor
25
+
26
+ - repo: https://github.com/python-jsonschema/check-jsonschema
27
+ rev: 0.37.1
28
+ hooks:
29
+ - id: check-dependabot
30
+ - id: check-github-workflows
31
+ - id: check-meltano
32
+
33
+ - repo: https://github.com/astral-sh/ruff-pre-commit
34
+ rev: v0.15.13
35
+ hooks:
36
+ - id: ruff-check
37
+ - id: ruff-format
38
+
39
+ - repo: https://github.com/astral-sh/uv-pre-commit
40
+ rev: 0.11.14
41
+ hooks:
42
+ - id: uv-lock
43
+ - id: uv-sync
44
+
45
+ - repo: https://github.com/hukkin/mdformat
46
+ rev: 1.0.0
47
+ hooks:
48
+ - id: mdformat
@@ -0,0 +1,19 @@
1
+ {
2
+ // Use IntelliSense to learn about possible attributes.
3
+ // Hover to view descriptions of existing attributes.
4
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
+ "version": "0.2.0",
6
+ "configurations": [
7
+ {
8
+ "name": "tap-erpnext",
9
+ "type": "debugpy",
10
+ "request": "launch",
11
+ "cwd": "${workspaceFolder}",
12
+ "program": "tap_erpnext",
13
+ "justMyCode": false,
14
+ "args": [
15
+ "--config=ENV",
16
+ ],
17
+ },
18
+ ]
19
+ }