langchain-trigger-server 0.2.1__tar.gz → 0.3.13__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.
- langchain_trigger_server-0.3.13/.github/actions/uv_setup/action.yml +21 -0
- langchain_trigger_server-0.3.13/.github/workflows/_lint.yml +44 -0
- langchain_trigger_server-0.3.13/.github/workflows/_test.yml +45 -0
- langchain_trigger_server-0.3.13/.github/workflows/ci.yml +61 -0
- langchain_trigger_server-0.3.13/.github/workflows/release.yml +124 -0
- langchain_trigger_server-0.3.13/.gitignore +134 -0
- langchain_trigger_server-0.3.13/Makefile +48 -0
- {langchain_trigger_server-0.2.1 → langchain_trigger_server-0.3.13}/PKG-INFO +4 -6
- langchain_trigger_server-0.3.13/README.md +3 -0
- {langchain_trigger_server-0.2.1 → langchain_trigger_server-0.3.13}/langchain_triggers/__init__.py +9 -6
- langchain_trigger_server-0.3.13/langchain_triggers/app.py +637 -0
- langchain_trigger_server-0.3.13/langchain_triggers/auth/__init__.py +3 -0
- langchain_trigger_server-0.3.13/langchain_triggers/core.py +59 -0
- langchain_trigger_server-0.3.13/langchain_triggers/cron_manager.py +329 -0
- langchain_trigger_server-0.3.13/langchain_triggers/database/__init__.py +5 -0
- langchain_trigger_server-0.3.13/langchain_triggers/database/interface.py +100 -0
- langchain_trigger_server-0.3.13/langchain_triggers/decorators.py +135 -0
- {langchain_trigger_server-0.2.1 → langchain_trigger_server-0.3.13}/langchain_triggers/triggers/__init__.py +1 -1
- langchain_trigger_server-0.3.13/langchain_triggers/triggers/cron_trigger.py +161 -0
- langchain_trigger_server-0.3.13/langchain_triggers/util.py +85 -0
- {langchain_trigger_server-0.2.1 → langchain_trigger_server-0.3.13}/pyproject.toml +19 -8
- langchain_trigger_server-0.3.13/tests/__init__.py +1 -0
- langchain_trigger_server-0.3.13/tests/unit/__init__.py +1 -0
- langchain_trigger_server-0.3.13/tests/unit/test_cron_manager_polling_filter.py +130 -0
- langchain_trigger_server-0.3.13/tests/unit/test_cron_manager_schedule_validation.py +48 -0
- langchain_trigger_server-0.3.13/tests/unit/test_trigger_server_api.py +488 -0
- {langchain_trigger_server-0.2.1 → langchain_trigger_server-0.3.13}/uv.lock +588 -929
- langchain_trigger_server-0.3.13/version_comparison.txt +1 -0
- langchain_trigger_server-0.2.1/.github/workflows/release.yml +0 -38
- langchain_trigger_server-0.2.1/.vscode/settings.json +0 -3
- langchain_trigger_server-0.2.1/README.md +0 -3
- langchain_trigger_server-0.2.1/langchain_triggers/app.py +0 -565
- langchain_trigger_server-0.2.1/langchain_triggers/core.py +0 -85
- langchain_trigger_server-0.2.1/langchain_triggers/cron_manager.py +0 -262
- langchain_trigger_server-0.2.1/langchain_triggers/database/__init__.py +0 -16
- langchain_trigger_server-0.2.1/langchain_triggers/database/interface.py +0 -153
- langchain_trigger_server-0.2.1/langchain_triggers/database/supabase.py +0 -415
- langchain_trigger_server-0.2.1/langchain_triggers/decorators.py +0 -71
- langchain_trigger_server-0.2.1/langchain_triggers/triggers/cron_trigger.py +0 -98
- langchain_trigger_server-0.2.1/test_framework.py +0 -155
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# TODO: https://docs.astral.sh/uv/guides/integration/github/#caching
|
|
2
|
+
|
|
3
|
+
name: uv-install
|
|
4
|
+
description: Set up Python and uv
|
|
5
|
+
|
|
6
|
+
inputs:
|
|
7
|
+
python-version:
|
|
8
|
+
description: Python version, supporting MAJOR.MINOR only
|
|
9
|
+
required: true
|
|
10
|
+
|
|
11
|
+
env:
|
|
12
|
+
UV_VERSION: "0.5.25"
|
|
13
|
+
|
|
14
|
+
runs:
|
|
15
|
+
using: composite
|
|
16
|
+
steps:
|
|
17
|
+
- name: Install uv and set the python version
|
|
18
|
+
uses: astral-sh/setup-uv@v5
|
|
19
|
+
with:
|
|
20
|
+
version: ${{ env.UV_VERSION }}
|
|
21
|
+
python-version: ${{ inputs.python-version }}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
name: lint
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_call:
|
|
5
|
+
inputs:
|
|
6
|
+
working-directory:
|
|
7
|
+
required: true
|
|
8
|
+
type: string
|
|
9
|
+
description: "From which folder this pipeline executes"
|
|
10
|
+
python-version:
|
|
11
|
+
required: true
|
|
12
|
+
type: string
|
|
13
|
+
description: "Python version to use"
|
|
14
|
+
|
|
15
|
+
env:
|
|
16
|
+
WORKDIR: ${{ inputs.working-directory == '' && '.' || inputs.working-directory }}
|
|
17
|
+
|
|
18
|
+
# This env var allows us to get inline annotations when ruff has complaints.
|
|
19
|
+
RUFF_OUTPUT_FORMAT: github
|
|
20
|
+
|
|
21
|
+
UV_FROZEN: "true"
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
build:
|
|
25
|
+
name: "make lint #${{ inputs.python-version }}"
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
timeout-minutes: 20
|
|
28
|
+
steps:
|
|
29
|
+
- uses: actions/checkout@v4
|
|
30
|
+
|
|
31
|
+
- name: Set up Python ${{ inputs.python-version }} + uv
|
|
32
|
+
uses: "./.github/actions/uv_setup"
|
|
33
|
+
with:
|
|
34
|
+
python-version: ${{ inputs.python-version }}
|
|
35
|
+
|
|
36
|
+
- name: Install dependencies
|
|
37
|
+
working-directory: ${{ inputs.working-directory }}
|
|
38
|
+
run: |
|
|
39
|
+
uv sync --group dev
|
|
40
|
+
|
|
41
|
+
- name: Analysing the code with our lint
|
|
42
|
+
working-directory: ${{ inputs.working-directory }}
|
|
43
|
+
run: |
|
|
44
|
+
make lint
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
name: test
|
|
2
|
+
|
|
3
|
+
permissions:
|
|
4
|
+
contents: read
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
workflow_call:
|
|
8
|
+
inputs:
|
|
9
|
+
working-directory:
|
|
10
|
+
required: true
|
|
11
|
+
type: string
|
|
12
|
+
description: "From which folder this pipeline executes"
|
|
13
|
+
python-version:
|
|
14
|
+
required: true
|
|
15
|
+
type: string
|
|
16
|
+
description: "Python version to use"
|
|
17
|
+
|
|
18
|
+
env:
|
|
19
|
+
UV_FROZEN: "true"
|
|
20
|
+
UV_NO_SYNC: "true"
|
|
21
|
+
|
|
22
|
+
jobs:
|
|
23
|
+
build:
|
|
24
|
+
defaults:
|
|
25
|
+
run:
|
|
26
|
+
working-directory: ${{ inputs.working-directory }}
|
|
27
|
+
runs-on: ubuntu-latest
|
|
28
|
+
timeout-minutes: 20
|
|
29
|
+
name: "make test #${{ inputs.python-version }}"
|
|
30
|
+
steps:
|
|
31
|
+
- uses: actions/checkout@v4
|
|
32
|
+
|
|
33
|
+
- name: Set up Python ${{ inputs.python-version }} + uv
|
|
34
|
+
uses: "./.github/actions/uv_setup"
|
|
35
|
+
id: setup-python
|
|
36
|
+
with:
|
|
37
|
+
python-version: ${{ inputs.python-version }}
|
|
38
|
+
- name: Install dependencies
|
|
39
|
+
shell: bash
|
|
40
|
+
run: uv sync --group dev
|
|
41
|
+
|
|
42
|
+
- name: Run core tests
|
|
43
|
+
shell: bash
|
|
44
|
+
run: |
|
|
45
|
+
make test
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Run CI Tests
|
|
3
|
+
|
|
4
|
+
on:
|
|
5
|
+
push:
|
|
6
|
+
branches: [ main ]
|
|
7
|
+
pull_request:
|
|
8
|
+
workflow_dispatch: # Allows to trigger the workflow manually in GitHub UI
|
|
9
|
+
|
|
10
|
+
# If another push to the same PR or branch happens while this workflow is still running,
|
|
11
|
+
# cancel the earlier run in favor of the next run.
|
|
12
|
+
#
|
|
13
|
+
# There's no point in testing an outdated version of the code. GitHub only allows
|
|
14
|
+
# a limited number of job runners to be active at the same time, so it's better to cancel
|
|
15
|
+
# pointless jobs early so that more useful jobs can run sooner.
|
|
16
|
+
concurrency:
|
|
17
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
18
|
+
cancel-in-progress: true
|
|
19
|
+
|
|
20
|
+
jobs:
|
|
21
|
+
lint:
|
|
22
|
+
strategy:
|
|
23
|
+
matrix:
|
|
24
|
+
# Only lint on the min and max supported Python versions.
|
|
25
|
+
# It's extremely unlikely that there's a lint issue on any version in between
|
|
26
|
+
# that doesn't show up on the min or max versions.
|
|
27
|
+
#
|
|
28
|
+
# GitHub rate-limits how many jobs can be running at any one time.
|
|
29
|
+
# Starting new jobs is also relatively slow,
|
|
30
|
+
# so linting on fewer versions makes CI faster.
|
|
31
|
+
python-version:
|
|
32
|
+
- "3.12"
|
|
33
|
+
uses:
|
|
34
|
+
./.github/workflows/_lint.yml
|
|
35
|
+
with:
|
|
36
|
+
working-directory: "."
|
|
37
|
+
python-version: ${{ matrix.python-version }}
|
|
38
|
+
secrets: inherit
|
|
39
|
+
test:
|
|
40
|
+
strategy:
|
|
41
|
+
matrix:
|
|
42
|
+
# Test on min and max supported Python versions
|
|
43
|
+
python-version:
|
|
44
|
+
- "3.11"
|
|
45
|
+
- "3.12"
|
|
46
|
+
uses:
|
|
47
|
+
./.github/workflows/_test.yml
|
|
48
|
+
with:
|
|
49
|
+
working-directory: "."
|
|
50
|
+
python-version: ${{ matrix.python-version }}
|
|
51
|
+
secrets: inherit
|
|
52
|
+
|
|
53
|
+
# Summary job that depends on all other jobs
|
|
54
|
+
# This provides a single check that branch protection can depend on
|
|
55
|
+
ci-success:
|
|
56
|
+
name: "CI Success"
|
|
57
|
+
runs-on: ubuntu-latest
|
|
58
|
+
needs: [lint, test]
|
|
59
|
+
steps:
|
|
60
|
+
- name: Mark CI as successful
|
|
61
|
+
run: echo "All CI checks passed!"
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
name: Build and publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main ]
|
|
6
|
+
release:
|
|
7
|
+
types: [published]
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
|
|
10
|
+
env:
|
|
11
|
+
PYTHON_VERSION: "3.11"
|
|
12
|
+
UV_FROZEN: "true"
|
|
13
|
+
UV_NO_SYNC: "true"
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
# First, run lint and test to ensure quality
|
|
17
|
+
lint-and-test:
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
strategy:
|
|
20
|
+
matrix:
|
|
21
|
+
python-version: ["3.11", "3.12"]
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v4
|
|
24
|
+
|
|
25
|
+
- name: Set up Python + uv
|
|
26
|
+
uses: "./.github/actions/uv_setup"
|
|
27
|
+
with:
|
|
28
|
+
python-version: ${{ matrix.python-version }}
|
|
29
|
+
|
|
30
|
+
- name: Install dependencies
|
|
31
|
+
run: uv sync --group dev
|
|
32
|
+
|
|
33
|
+
- name: Run lint
|
|
34
|
+
run: uv run ruff check .
|
|
35
|
+
|
|
36
|
+
- name: Run tests
|
|
37
|
+
run: uv run pytest tests/
|
|
38
|
+
|
|
39
|
+
# Check version and publish package
|
|
40
|
+
build-and-publish:
|
|
41
|
+
needs: lint-and-test
|
|
42
|
+
name: Build and publish Python distribution to PyPI
|
|
43
|
+
runs-on: ubuntu-latest
|
|
44
|
+
environment:
|
|
45
|
+
name: pypi
|
|
46
|
+
url: https://pypi.org/p/langchain-trigger-server
|
|
47
|
+
permissions:
|
|
48
|
+
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
|
|
49
|
+
contents: read # Required for private repository access
|
|
50
|
+
|
|
51
|
+
steps:
|
|
52
|
+
- uses: actions/checkout@v4
|
|
53
|
+
with:
|
|
54
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
55
|
+
|
|
56
|
+
- name: Set up Python + uv
|
|
57
|
+
uses: "./.github/actions/uv_setup"
|
|
58
|
+
with:
|
|
59
|
+
python-version: ${{ env.PYTHON_VERSION }}
|
|
60
|
+
|
|
61
|
+
- name: Get current version from pyproject.toml
|
|
62
|
+
id: get-version
|
|
63
|
+
run: |
|
|
64
|
+
VERSION=$(python -c "import tomllib; print(tomllib.load(open('pyproject.toml', 'rb'))['project']['version'])")
|
|
65
|
+
echo "current_version=$VERSION" >> $GITHUB_OUTPUT
|
|
66
|
+
echo "Current version: $VERSION"
|
|
67
|
+
|
|
68
|
+
- name: Get latest PyPI version
|
|
69
|
+
id: get-pypi-version
|
|
70
|
+
run: |
|
|
71
|
+
PYPI_VERSION=$(python -c "
|
|
72
|
+
import json, urllib.request, urllib.error
|
|
73
|
+
try:
|
|
74
|
+
with urllib.request.urlopen('https://pypi.org/pypi/langchain-trigger-server/json') as response:
|
|
75
|
+
data = json.loads(response.read())
|
|
76
|
+
print(data['info']['version'])
|
|
77
|
+
except urllib.error.HTTPError as e:
|
|
78
|
+
if e.code == 404:
|
|
79
|
+
print('0.0.0') # Package doesn't exist yet
|
|
80
|
+
else:
|
|
81
|
+
raise
|
|
82
|
+
")
|
|
83
|
+
echo "pypi_version=$PYPI_VERSION" >> $GITHUB_OUTPUT
|
|
84
|
+
echo "PyPI version: $PYPI_VERSION"
|
|
85
|
+
|
|
86
|
+
- name: Compare versions
|
|
87
|
+
id: compare-versions
|
|
88
|
+
run: |
|
|
89
|
+
python -c "
|
|
90
|
+
from distutils.version import LooseVersion
|
|
91
|
+
current = LooseVersion('${{ steps.get-version.outputs.current_version }}')
|
|
92
|
+
pypi = LooseVersion('${{ steps.get-pypi-version.outputs.pypi_version }}')
|
|
93
|
+
should_publish = current > pypi
|
|
94
|
+
print(f'Current: {current}, PyPI: {pypi}, Should publish: {should_publish}')
|
|
95
|
+
" > version_comparison.txt
|
|
96
|
+
cat version_comparison.txt
|
|
97
|
+
|
|
98
|
+
SHOULD_PUBLISH=$(python -c "
|
|
99
|
+
from distutils.version import LooseVersion
|
|
100
|
+
current = LooseVersion('${{ steps.get-version.outputs.current_version }}')
|
|
101
|
+
pypi = LooseVersion('${{ steps.get-pypi-version.outputs.pypi_version }}')
|
|
102
|
+
print('true' if current > pypi else 'false')
|
|
103
|
+
")
|
|
104
|
+
echo "should_publish=$SHOULD_PUBLISH" >> $GITHUB_OUTPUT
|
|
105
|
+
|
|
106
|
+
- name: Build package
|
|
107
|
+
if: steps.compare-versions.outputs.should_publish == 'true'
|
|
108
|
+
run: uv build
|
|
109
|
+
|
|
110
|
+
- name: Publish package distributions to PyPI
|
|
111
|
+
if: steps.compare-versions.outputs.should_publish == 'true'
|
|
112
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
113
|
+
with:
|
|
114
|
+
verbose: true
|
|
115
|
+
print-hash: true
|
|
116
|
+
attestations: false
|
|
117
|
+
|
|
118
|
+
- name: Create summary
|
|
119
|
+
run: |
|
|
120
|
+
if [ "${{ steps.compare-versions.outputs.should_publish }}" = "true" ]; then
|
|
121
|
+
echo "✅ Published langchain-trigger-server v${{ steps.get-version.outputs.current_version }} to PyPI" >> $GITHUB_STEP_SUMMARY
|
|
122
|
+
else
|
|
123
|
+
echo "⏭️ Skipped langchain-trigger-server: v${{ steps.get-version.outputs.current_version }} not newer than PyPI v${{ steps.get-pypi-version.outputs.pypi_version }}" >> $GITHUB_STEP_SUMMARY
|
|
124
|
+
fi
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
pip-wheel-metadata/
|
|
24
|
+
share/python-wheels/
|
|
25
|
+
*.egg-info/
|
|
26
|
+
.installed.cfg
|
|
27
|
+
*.egg
|
|
28
|
+
MANIFEST
|
|
29
|
+
|
|
30
|
+
# PyInstaller
|
|
31
|
+
*.manifest
|
|
32
|
+
*.spec
|
|
33
|
+
|
|
34
|
+
# Installer logs
|
|
35
|
+
pip-log.txt
|
|
36
|
+
pip-delete-this-directory.txt
|
|
37
|
+
|
|
38
|
+
# Unit test / coverage reports
|
|
39
|
+
htmlcov/
|
|
40
|
+
.tox/
|
|
41
|
+
.nox/
|
|
42
|
+
.coverage
|
|
43
|
+
.coverage.*
|
|
44
|
+
.cache
|
|
45
|
+
nosetests.xml
|
|
46
|
+
coverage.xml
|
|
47
|
+
*.cover
|
|
48
|
+
*.py,cover
|
|
49
|
+
.hypothesis/
|
|
50
|
+
.pytest_cache/
|
|
51
|
+
|
|
52
|
+
# Translations
|
|
53
|
+
*.mo
|
|
54
|
+
*.pot
|
|
55
|
+
|
|
56
|
+
# Django stuff:
|
|
57
|
+
*.log
|
|
58
|
+
local_settings.py
|
|
59
|
+
db.sqlite3
|
|
60
|
+
db.sqlite3-journal
|
|
61
|
+
|
|
62
|
+
# Flask stuff:
|
|
63
|
+
instance/
|
|
64
|
+
.webassets-cache
|
|
65
|
+
|
|
66
|
+
# Scrapy stuff:
|
|
67
|
+
.scrapy
|
|
68
|
+
|
|
69
|
+
# Sphinx documentation
|
|
70
|
+
docs/_build/
|
|
71
|
+
|
|
72
|
+
# PyBuilder
|
|
73
|
+
target/
|
|
74
|
+
|
|
75
|
+
# Jupyter Notebook
|
|
76
|
+
.ipynb_checkpoints
|
|
77
|
+
|
|
78
|
+
# IPython
|
|
79
|
+
profile_default/
|
|
80
|
+
ipython_config.py
|
|
81
|
+
|
|
82
|
+
# pyenv
|
|
83
|
+
.python-version
|
|
84
|
+
|
|
85
|
+
# pipenv
|
|
86
|
+
Pipfile.lock
|
|
87
|
+
|
|
88
|
+
# PEP 582
|
|
89
|
+
__pypackages__/
|
|
90
|
+
|
|
91
|
+
# Celery stuff
|
|
92
|
+
celerybeat-schedule
|
|
93
|
+
celerybeat.pid
|
|
94
|
+
|
|
95
|
+
# SageMath parsed files
|
|
96
|
+
*.sage.py
|
|
97
|
+
|
|
98
|
+
# Environments
|
|
99
|
+
.env
|
|
100
|
+
.venv
|
|
101
|
+
env/
|
|
102
|
+
venv/
|
|
103
|
+
ENV/
|
|
104
|
+
env.bak/
|
|
105
|
+
venv.bak/
|
|
106
|
+
|
|
107
|
+
# Spyder project settings
|
|
108
|
+
.spyderproject
|
|
109
|
+
.spyproject
|
|
110
|
+
|
|
111
|
+
# Rope project settings
|
|
112
|
+
.ropeproject
|
|
113
|
+
|
|
114
|
+
# mkdocs documentation
|
|
115
|
+
/site
|
|
116
|
+
|
|
117
|
+
# mypy
|
|
118
|
+
.mypy_cache/
|
|
119
|
+
.dmypy.json
|
|
120
|
+
dmypy.json
|
|
121
|
+
|
|
122
|
+
# Pyre type checker
|
|
123
|
+
.pyre/
|
|
124
|
+
|
|
125
|
+
# IDEs
|
|
126
|
+
.vscode/
|
|
127
|
+
.idea/
|
|
128
|
+
*.swp
|
|
129
|
+
*.swo
|
|
130
|
+
*~
|
|
131
|
+
|
|
132
|
+
# OS
|
|
133
|
+
.DS_Store
|
|
134
|
+
Thumbs.db
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
.PHONY: all lint format lint-fix test help
|
|
2
|
+
|
|
3
|
+
# Default target executed when no arguments are given to make
|
|
4
|
+
all: help
|
|
5
|
+
|
|
6
|
+
######################
|
|
7
|
+
# TESTING AND COVERAGE
|
|
8
|
+
######################
|
|
9
|
+
|
|
10
|
+
# Define a variable for the test file path.
|
|
11
|
+
TEST ?= tests/unit
|
|
12
|
+
|
|
13
|
+
test:
|
|
14
|
+
uv run pytest $(TEST) -v
|
|
15
|
+
|
|
16
|
+
######################
|
|
17
|
+
# LINTING AND FORMATTING
|
|
18
|
+
######################
|
|
19
|
+
|
|
20
|
+
# Define a variable for Python and notebook files.
|
|
21
|
+
lint format: PYTHON_FILES=.
|
|
22
|
+
lint_diff format_diff: PYTHON_FILES=$(shell git diff --relative=. --name-only --diff-filter=d main | grep -E '\.py$$|\.ipynb$$')
|
|
23
|
+
|
|
24
|
+
lint lint_diff:
|
|
25
|
+
[ "$(PYTHON_FILES)" = "" ] || uv run ruff format $(PYTHON_FILES) --check
|
|
26
|
+
[ "$(PYTHON_FILES)" = "" ] || uv run ruff check $(PYTHON_FILES)
|
|
27
|
+
|
|
28
|
+
format format_diff:
|
|
29
|
+
[ "$(PYTHON_FILES)" = "" ] || uv run ruff format $(PYTHON_FILES)
|
|
30
|
+
[ "$(PYTHON_FILES)" = "" ] || uv run ruff check --fix $(PYTHON_FILES)
|
|
31
|
+
|
|
32
|
+
lint-fix:
|
|
33
|
+
uv run ruff format $(PYTHON_FILES)
|
|
34
|
+
uv run ruff check --fix $(PYTHON_FILES)
|
|
35
|
+
|
|
36
|
+
######################
|
|
37
|
+
# HELP
|
|
38
|
+
######################
|
|
39
|
+
|
|
40
|
+
help:
|
|
41
|
+
@echo '===================='
|
|
42
|
+
@echo '-- LINTING --'
|
|
43
|
+
@echo 'format - run code formatters'
|
|
44
|
+
@echo 'lint - run linters'
|
|
45
|
+
@echo 'lint-fix - run linters and fix issues'
|
|
46
|
+
@echo '-- TESTS --'
|
|
47
|
+
@echo 'test - run tests'
|
|
48
|
+
@echo 'test TEST=<test_file> - run specific test file'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: langchain-trigger-server
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.13
|
|
4
4
|
Summary: Generic event-driven triggers framework
|
|
5
5
|
Project-URL: Homepage, https://github.com/langchain-ai/open-agent-platform
|
|
6
6
|
Project-URL: Repository, https://github.com/langchain-ai/open-agent-platform
|
|
@@ -11,19 +11,17 @@ Classifier: Development Status :: 3 - Alpha
|
|
|
11
11
|
Classifier: Intended Audience :: Developers
|
|
12
12
|
Classifier: License :: OSI Approved :: MIT License
|
|
13
13
|
Classifier: Programming Language :: Python :: 3
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
16
14
|
Classifier: Programming Language :: Python :: 3.11
|
|
17
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
-
Requires-Python: >=3.
|
|
16
|
+
Requires-Python: >=3.11
|
|
19
17
|
Requires-Dist: apscheduler>=3.10.0
|
|
20
18
|
Requires-Dist: croniter>=1.4.0
|
|
21
19
|
Requires-Dist: cryptography>=3.0.0
|
|
22
20
|
Requires-Dist: fastapi>=0.100.0
|
|
23
21
|
Requires-Dist: httpx>=0.24.0
|
|
22
|
+
Requires-Dist: langchain-auth>=0.0.1
|
|
24
23
|
Requires-Dist: langgraph-sdk>=0.2.6
|
|
25
24
|
Requires-Dist: pydantic>=2.0.0
|
|
26
|
-
Requires-Dist: python-jose[cryptography]>=3.3.0
|
|
27
25
|
Requires-Dist: python-multipart>=0.0.6
|
|
28
26
|
Requires-Dist: supabase>=2.0.0
|
|
29
27
|
Requires-Dist: uvicorn[standard]>=0.20.0
|
|
@@ -37,4 +35,4 @@ Description-Content-Type: text/markdown
|
|
|
37
35
|
|
|
38
36
|
# LangChain Trigger Server
|
|
39
37
|
|
|
40
|
-
|
|
38
|
+
Framework for developing triggers for use in the LangSmith Agent Builder
|
{langchain_trigger_server-0.2.1 → langchain_trigger_server-0.3.13}/langchain_triggers/__init__.py
RENAMED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
"""LangChain Triggers Framework - Event-driven triggers for AI agents."""
|
|
2
2
|
|
|
3
|
-
from .core import UserAuthInfo, TriggerRegistrationModel, TriggerHandlerResult, TriggerRegistrationResult
|
|
4
|
-
from .decorators import TriggerTemplate
|
|
5
3
|
from .app import TriggerServer
|
|
4
|
+
from .core import (
|
|
5
|
+
TriggerRegistrationModel,
|
|
6
|
+
TriggerRegistrationResult,
|
|
7
|
+
)
|
|
8
|
+
from .decorators import TriggerTemplate
|
|
6
9
|
from .triggers.cron_trigger import cron_trigger
|
|
10
|
+
from .util import get_langgraph_url
|
|
7
11
|
|
|
8
|
-
__version__ = "0.
|
|
12
|
+
__version__ = "0.3.11"
|
|
9
13
|
|
|
10
14
|
__all__ = [
|
|
11
|
-
"UserAuthInfo",
|
|
12
15
|
"TriggerRegistrationModel",
|
|
13
|
-
"TriggerHandlerResult",
|
|
14
16
|
"TriggerRegistrationResult",
|
|
15
17
|
"TriggerTemplate",
|
|
16
18
|
"TriggerServer",
|
|
19
|
+
"get_langgraph_url",
|
|
17
20
|
"cron_trigger",
|
|
18
|
-
]
|
|
21
|
+
]
|