Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,34 @@ jobs:
working-directory: examples/cookbook/langchain
run: python -m unittest -v

python-sdk-test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install SDK with dev dependencies
working-directory: sdks/python/sdk
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
- name: Lint with ruff
working-directory: sdks/python/sdk
run: |
pip install ruff
ruff check src/ tests/
- name: Type check with mypy
working-directory: sdks/python/sdk
run: mypy src/ --ignore-missing-imports
- name: Run tests
working-directory: sdks/python/sdk
run: pytest tests/ -v

next-js-test:
runs-on: ubuntu-latest
steps:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,5 @@ venv/
# Claude
*.claude/
*CLAUDE.md

*.egg-info
18 changes: 18 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,24 @@ In short, when you submit code changes, your submissions are understood to be un

We use GitHub issues to track public bugs. Report a bug by [opening a new issue](https://github.com/usemoss/moss/issues/new); it's that easy!

## Python SDK Development

The Python SDK source lives in [`sdks/python/sdk/`](sdks/python/sdk/). Set up a development environment:

```bash
cd sdks/python/sdk
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
```

Run the tests (cloud/E2E tests auto-skip without credentials):

```bash
pytest tests/
```

Code style is enforced via `black`, `isort`, and `mypy` (see `pyproject.toml` for configuration).

## License

By contributing, you agree that your contributions will be licensed under the BSD 2-Clause License.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,8 @@ const results = await client.query(name, "your query", { topK: 5 });

The SDKs in this repo are thin clients that talk to the Moss runtime over HTTPS. The runtime handles embedding, indexing, and search — you don't need to manage any infrastructure.

Full Python SDK source code is available at [`sdks/python/`](sdks/python/).

## Contributing

We welcome contributions! Here's where the community can have the most impact:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,4 +111,4 @@ results = await client.query("docs", "production search tips")

## 📬 Contact

For queries, support, commercial licensing, or partnership inquiries, contact us: [contact@usemoss.dev](mailto:contact@usemoss.dev)
For queries, support, commercial licensing, or partnership inquiries, contact us: [contact@moss.dev](mailto:contact@moss.dev)
Original file line number Diff line number Diff line change
Expand Up @@ -234,12 +234,4 @@ Pass `QueryOptions` to reuse your own embeddings or to override `top_k` on a per

## 📄 License

This package is licensed under the [PolyForm Shield License 1.0.0](./LICENSE.txt).

- ✅ Free for testing, evaluation, internal use, and modifications.
- ❌ Not permitted for production or competing commercial use.
- 📩 For commercial licenses, contact: <contact@usemoss.dev>

## 📬 Contact

For support, commercial licensing, or partnership inquiries, contact us: [contact@usemoss.dev](mailto:contact@usemoss.dev)
[BSD 2-Clause License](https://github.com/usemoss/moss/blob/main/sdks/python/sdk/LICENSE)
Loading
Loading