Skip to content

Commit ab9f46c

Browse files
committed
code push
1 parent e0727bc commit ab9f46c

File tree

302 files changed

+65555
-35
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

302 files changed

+65555
-35
lines changed

.flake8

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[flake8]
2+
show-source = True
3+
docstring-convention = google
4+
max-complexity = 22
5+
max-line-length = 88
6+
ignore =
7+
# See https://github.com/PyCQA/pycodestyle/issues/373
8+
E203,
9+
W503,
10+
N818
11+
exclude = .git,__pycache__,.idea,__init__.py,.vscode,src/migrations,src/alembic

.github/workflows/release.yaml

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
name: Release
2+
run-name: Release ${{ inputs.project_path }}
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
project_path:
7+
description: The path to the Python project
8+
required: true
9+
type: string
10+
jobs:
11+
build:
12+
name: Build distribution 📦
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v4
16+
- name: Check if the project path exists
17+
run: test -d ${{ inputs.project_path }}
18+
- name: Extract package details
19+
id: package-details
20+
run: |
21+
package_version=$(sed -n "s/.*__version__ = \"\(.*\)\".*/\1/p" "zav/agents_sdk/version.py")
22+
package_name=$(sed -n "s/.*name=\"\(.*\)\".*/\1/p" "setup.py")
23+
github_tag="$package_name-$package_version"
24+
25+
echo "package_name=$package_name" >> $GITHUB_OUTPUT
26+
echo "package_version=$package_version" >> $GITHUB_OUTPUT
27+
echo "github_tag=$github_tag" >> $GITHUB_OUTPUT
28+
working-directory: ${{ inputs.project_path }}
29+
- name: Verify that the project doesn't have the private classifier
30+
run: |
31+
grep -q "Private :: Do Not Upload" setup.py && exit 1 || exit 0
32+
working-directory: ${{ inputs.project_path }}
33+
- name: Verify that the tag doesn't exist
34+
run: |
35+
git rev-parse ${{ steps.package-details.outputs.github_tag }} && exit 1 || exit 0
36+
working-directory: ${{ inputs.project_path }}
37+
- name: Set up Python
38+
uses: actions/setup-python@v5
39+
with:
40+
python-version: "3.x"
41+
- name: Install pypa/build
42+
run: >-
43+
python3 -m
44+
pip install
45+
build
46+
--user
47+
- name: Build a binary wheel and a source tarball
48+
run: python3 -m build
49+
working-directory: ${{ inputs.project_path }}
50+
- name: Store the distribution packages
51+
uses: actions/upload-artifact@v3
52+
with:
53+
name: python-package-distributions
54+
path: ${{ inputs.project_path }}/dist/
55+
outputs:
56+
package_name: ${{ steps.package-details.outputs.package_name }}
57+
package_version: ${{ steps.package-details.outputs.package_version }}
58+
github_tag: ${{ steps.package-details.outputs.github_tag }}
59+
github-release:
60+
name: >-
61+
Sign the ${{ needs.build.outputs.package_name }} distribution 📦 with Sigstore
62+
and upload them to GitHub Release
63+
needs:
64+
- build
65+
runs-on: ubuntu-latest
66+
permissions:
67+
contents: write # IMPORTANT: mandatory for making GitHub Releases
68+
id-token: write # IMPORTANT: mandatory for sigstore
69+
steps:
70+
- name: Download all the dists
71+
uses: actions/download-artifact@v3
72+
with:
73+
name: python-package-distributions
74+
path: dist/
75+
- name: Sign the dists with Sigstore
76+
uses: sigstore/[email protected]
77+
with:
78+
inputs: >-
79+
./dist/*.tar.gz
80+
./dist/*.whl
81+
- name: Create GitHub Release
82+
env:
83+
GITHUB_TOKEN: ${{ github.token }}
84+
run: >-
85+
gh release create
86+
'${{ needs.build.outputs.github_tag }}'
87+
--repo '${{ github.repository }}'
88+
--generate-notes
89+
- name: Upload artifact signatures to GitHub Release
90+
env:
91+
GITHUB_TOKEN: ${{ github.token }}
92+
# Upload to GitHub Release using the `gh` CLI.
93+
# `dist/` contains the built packages, and the
94+
# sigstore-produced signatures and certificates.
95+
run: >-
96+
gh release upload
97+
'${{ needs.build.outputs.github_tag }}' dist/**
98+
--repo '${{ github.repository }}'
99+
publish-to-testpypi:
100+
name: Publish the ${{ needs.build.outputs.package_name }} distribution 📦 to TestPyPI
101+
needs:
102+
- build
103+
- github-release
104+
runs-on: ubuntu-latest
105+
environment:
106+
name: testpypi
107+
url: https://test.pypi.org/p/${{ needs.build.outputs.package_name }}
108+
permissions:
109+
id-token: write # IMPORTANT: mandatory for trusted publishing
110+
steps:
111+
- name: Download all the dists
112+
uses: actions/download-artifact@v3
113+
with:
114+
name: python-package-distributions
115+
path: dist/
116+
- name: Publish distribution 📦 to TestPyPI
117+
uses: pypa/gh-action-pypi-publish@release/v1
118+
with:
119+
repository-url: https://test.pypi.org/legacy/
120+
publish-to-pypi:
121+
name: Publish the ${{ needs.build.outputs.package_name }} distribution 📦 to PyPI
122+
if: github.ref == 'refs/heads/master'
123+
needs:
124+
- build
125+
- publish-to-testpypi
126+
runs-on: ubuntu-latest
127+
environment:
128+
name: pypi
129+
url: https://pypi.org/p/${{ needs.build.outputs.package_name }}
130+
permissions:
131+
id-token: write # IMPORTANT: mandatory for trusted publishing
132+
steps:
133+
- name: Download all the dists
134+
uses: actions/download-artifact@v3
135+
with:
136+
name: python-package-distributions
137+
path: dist/
138+
- name: Publish distribution 📦 to PyPI
139+
uses: pypa/gh-action-pypi-publish@release/v1

.gitignore

Lines changed: 7 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -83,38 +83,9 @@ profile_default/
8383
ipython_config.py
8484

8585
# pyenv
86-
# For a library or package, you might want to ignore these files since the code is
87-
# intended to run in multiple environments; otherwise, check them in:
88-
# .python-version
89-
90-
# pipenv
91-
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92-
# However, in case of collaboration, if having platform-specific dependencies or dependencies
93-
# having no cross-platform support, pipenv may install dependencies that don't work, or not
94-
# install all needed dependencies.
95-
#Pipfile.lock
96-
97-
# poetry
98-
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
99-
# This is especially recommended for binary packages to ensure reproducibility, and is more
100-
# commonly ignored for libraries.
101-
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
102-
#poetry.lock
103-
104-
# pdm
105-
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
106-
#pdm.lock
107-
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
108-
# in version control.
109-
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
110-
.pdm.toml
111-
.pdm-python
112-
.pdm-build/
113-
114-
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
115-
__pypackages__/
116-
117-
# Celery stuff
86+
.python-version
87+
88+
# celery beat schedule file
11889
celerybeat-schedule
11990
celerybeat.pid
12091

@@ -159,4 +130,7 @@ cython_debug/
159130
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
160131
# and can be added to the global gitignore or merged into this file. For a more nuclear
161132
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
162-
#.idea/
133+
.idea/
134+
135+
# Build system
136+
.project

.isort.cfg

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[isort]
2+
profile = black

.vscode/extensions.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"recommendations": [
3+
"ms-python.black-formatter",
4+
"ms-python.flake8",
5+
"ms-python.isort",
6+
"ms-python.vscode-pylance",
7+
"ms-python.python",
8+
]
9+
}

.vscode/settings.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"editor.rulers": [
3+
88
4+
],
5+
"python.analysis.autoImportCompletions": true,
6+
"[python]": {
7+
"editor.formatOnSave": true,
8+
"editor.codeActionsOnSave": {
9+
"source.organizeImports": "explicit"
10+
},
11+
"editor.defaultFormatter": "ms-python.black-formatter"
12+
},
13+
"isort.args": ["--sp", "apps/search-api/"],
14+
"python.languageServer": "Pylance",
15+
"python.analysis.typeCheckingMode": "basic",
16+
}

README.md

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,46 @@
1-
# platform
2-
Advanced AI solutions for the enterprise
1+
<p align="center">
2+
<a href="https://zeta-alpha.com">
3+
<source media="(prefers-color-scheme: dark)" srcset="https://search.zeta-alpha.com/assets/img/zeta-logo-full-white.svg">
4+
<source media="(prefers-color-scheme: light)" srcset="https://search.zeta-alpha.com/assets/img/zeta-logo-full-black.svg">
5+
<img src="https://search.zeta-alpha.com/assets/img/zeta-logo-full-black.svg" alt="Zeta Alpha">
6+
</a>
7+
</p>
8+
<p align="center">
9+
<b>Build Intelligence and Drive Results</b>
10+
</p>
11+
<p align="center">
12+
<em>Advanced AI solutions for the enterprise</em>
13+
</p>
14+
15+
Zeta Alpha empowers knowledge-intensive companies to quickly turn their domain expertise and R&D into Generative AI solutions. Our platform provides the tools needed to integrate and enhance access-restricted data sources, configure and fine-tune AI search models, and build powerful RAG applications and AI agents. Deploy on-prem or in the cloud, and scale with ease.
16+
17+
# Quick Start
18+
19+
Create your first conversational AI agent.
20+
21+
```bash
22+
# Install the package
23+
pip install zetaalpha.rag-agents
24+
25+
# Initialize a new project
26+
rag_agents init
27+
28+
# Start the development UI
29+
rag_agents dev
30+
```
31+
32+
33+
34+
35+
https://github.com/user-attachments/assets/ecb56abe-d3b7-4d95-9f6c-78d1e92d864f
36+
37+
38+
39+
40+
41+
42+
## Continue Your Journey
43+
44+
Visit our [Documentation](https://docs.zeta-alpha.com) for detailed tutorials, guides, and API references to help you get started with Zeta Alpha.
45+
46+
For more information or support, feel free to [Contact Us](mailto:[email protected]).

0 commit comments

Comments
 (0)