Skip to content

Commit fd04eef

Browse files
authored
Merge pull request #1 from rush-db/feature/python-sdk
Initial commit
2 parents 98419c6 + c8c5660 commit fd04eef

31 files changed

+2604
-2
lines changed

.env.example

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# RushDB Configuration
2+
RUSHDB_TOKEN=your_api_token_here
3+
RUSHDB_URL=http://localhost:3000

.github/workflows/ci.yml

+73
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Python SDK CI/CD
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
release:
9+
types: [published]
10+
11+
jobs:
12+
lint:
13+
runs-on: ubuntu-latest
14+
strategy:
15+
matrix:
16+
python-version: ["3.8", "3.9", "3.10", "3.11"]
17+
18+
steps:
19+
- uses: actions/checkout@v4
20+
21+
- name: Set up Python ${{ matrix.python-version }}
22+
uses: actions/setup-python@v4
23+
with:
24+
python-version: ${{ matrix.python-version }}
25+
26+
- name: Install Poetry
27+
uses: snok/install-poetry@v1
28+
with:
29+
version: 1.7.1
30+
virtualenvs-create: true
31+
virtualenvs-in-project: true
32+
33+
- name: Install dependencies
34+
run: |
35+
poetry install --no-interaction --no-root
36+
37+
- name: Run linters
38+
run: |
39+
poetry run black . --check
40+
poetry run isort . --check
41+
poetry run ruff check .
42+
poetry run mypy src/rushdb
43+
44+
publish:
45+
if: startsWith(github.ref, 'refs/tags/v')
46+
runs-on: ubuntu-latest
47+
needs: lint
48+
49+
steps:
50+
- uses: actions/checkout@v4
51+
52+
- name: Set up Python
53+
uses: actions/setup-python@v4
54+
with:
55+
python-version: "3.11"
56+
57+
- name: Install Poetry
58+
uses: snok/install-poetry@v1
59+
with:
60+
version: 1.7.1
61+
virtualenvs-create: true
62+
virtualenvs-in-project: true
63+
64+
- name: Install dependencies
65+
run: |
66+
poetry install --no-interaction --no-root
67+
68+
- name: Build and publish
69+
env:
70+
POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_TOKEN }}
71+
run: |
72+
poetry build
73+
poetry publish

.gitignore

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
node_modules
2+
dist
3+
*.log
4+
*.tgz
5+
.env
6+
.next
7+
.DS_Store
8+
.idea
9+
.vscode
10+
.eslintcache
11+
examples/**/yarn.lock
12+
package-lock.json
13+
*.tsbuildinfo
14+
coverage
15+
.rollup.cache
16+
cjs
17+
esm
18+
packages/javascript-sdk/types

CODE_OF_CONDUCT.md

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Code of Conduct
2+
3+
We value open collaboration and respect in all interactions. To foster a welcoming and productive community, all participants are expected to adhere to the following guidelines.
4+
5+
## Scope
6+
7+
This Code of Conduct applies to all contributors, including maintainers, users, and collaborators, in all project spaces and public communication channels.
8+
9+
## Our Standards
10+
11+
1. **Respectful Communication**
12+
- Use welcoming and inclusive language.
13+
- Be respectful of differing viewpoints and experiences.
14+
- Refrain from personal attacks or derogatory comments.
15+
16+
2. **Collaboration**
17+
- Provide constructive feedback and suggestions.
18+
- Share knowledge and help others grow within the community.
19+
20+
3. **Responsibility**
21+
- Take responsibility for your actions and their impact on others.
22+
- Report issues or concerns to maintainers or moderators.
23+
24+
4. **Inclusivity**
25+
- Actively seek to include and empower underrepresented groups.
26+
- Avoid biased or discriminatory behavior.
27+
28+
## Unacceptable Behavior
29+
30+
Examples of unacceptable behavior include:
31+
32+
- Harassment, bullying, or intimidation.
33+
- Disrespectful, offensive, or inappropriate comments.
34+
- Discriminatory jokes or language.
35+
- Publishing private information without explicit permission.
36+
37+
## Reporting Violations
38+
39+
If you observe or experience behavior that violates this Code of Conduct, please report it by:
40+
41+
- Contacting the project maintainer: [tg:onepx](https://t.me/onepx)
42+
- Messaging via LinkedIn: [linkedin.com/onepx](https://linkedin.com/in/onepx)
43+
44+
We take all reports seriously and will investigate and address them promptly.
45+
46+
## Enforcement
47+
48+
Participants found to be in violation of this Code of Conduct may face actions such as:
49+
50+
- A private warning or reprimand.
51+
- Temporary or permanent ban from project spaces.
52+
- Removal of contributions or privileges.
53+
54+
## Acknowledgments
55+
56+
This Code of Conduct is adapted from widely recognized community guidelines to reflect our commitment to a healthy and collaborative environment.

CONTRIBUTING.md

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Contribution Guidelines for RushDB
2+
3+
Thank you for your interest in contributing to RushDB! To ensure a smooth contribution process, please follow the checklist below when reporting issues or submitting changes.
4+
5+
## Reporting Issues
6+
7+
When reporting an issue, include the following information:
8+
9+
1. **Minimum Reproducible Data Set**
10+
- Provide a small JSON or CSV dataset if the issue is related to the core, dashboard, or SDK.
11+
- Ensure the dataset highlights the problem clearly.
12+
13+
2. **RushDB Version**
14+
- Specify the version of RushDB you are using:
15+
- **Cloud**: Mention if you are using the latest cloud version.
16+
- **Self-hosted**: Provide the tag from Docker Hub or the SDK version.
17+
18+
3. **Steps to Reproduce**
19+
- Give a detailed explanation of how to reproduce the issue.
20+
- Include any configurations, commands, or environment settings.
21+
22+
4. **Query Examples**
23+
- If applicable, include specific queries that trigger the error.
24+
25+
5. **Minimum Repository (if SDK-related)**
26+
- For issues related to the SDK, a minimal GitHub repository demonstrating the bug may be required.
27+
28+
## Submitting Changes
29+
30+
Before submitting a pull request:
31+
32+
- Ensure your code adheres to the project's coding standards.
33+
- Include unit tests for new functionality or bug fixes.
34+
- Update documentation if necessary.
35+
36+
## Contact Information
37+
38+
For urgent issues or further assistance, you can reach out directly:
39+
40+
- **Telegram**: [tg:onepx](https://t.me/onepx)
41+
- **LinkedIn**: [linkedin.com/onepx](https://linkedin.com/in/onepx)
42+
43+
We appreciate your contributions and look forward to your feedback!

0 commit comments

Comments
 (0)