Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
03391f2
Update version to 1.0.2, remove ClappiaClient, and enhance AppDefinit…
madara-uchihaaa Jul 21, 2025
7c578b2
Update dependencies, enhance submission client, and add new models
madara-uchihaaa Jul 22, 2025
417eaea
Enhance README and client structure, remove unused models
madara-uchihaaa Aug 11, 2025
30ec748
Refactor client models and enhance validation logic
madara-uchihaaa Aug 11, 2025
8ab22f7
Refactored tools code to use the new API endpoints and models
madara-uchihaaa Aug 11, 2025
8a69bb9
Add phonenumbers dependency and enhance client models
madara-uchihaaa Aug 19, 2025
8b12a89
Refactor client models to remove workplace_id and enhance analytics f…
madara-uchihaaa Aug 19, 2025
fa5f4e4
Enhance Analytics and Workflow Clients with Schema Retrieval and Sect…
madara-uchihaaa Aug 21, 2025
6b16d8f
Refactor Submission and Analytics Clients to Remove Unused Parameters…
madara-uchihaaa Sep 3, 2025
3be7fb5
Add new field request models and enhance AppDefinitionClient function…
madara-uchihaaa Sep 3, 2025
9aed13f
Refactor App Definition Client and Update Request Models
madara-uchihaaa Sep 5, 2025
d69aae9
Enhance Workflow Definition Client with New Request Models and Methods
madara-uchihaaa Sep 5, 2025
9a178c4
Refactor Analytics Client and Update Chart Management Functionality
madara-uchihaaa Sep 8, 2025
9f91656
Refactor Workflow Step Methods and Update Documentation
madara-uchihaaa Sep 9, 2025
2a5085d
Add JsonSerializableMixin to Models and Clean Up Imports
madara-uchihaaa Sep 9, 2025
14b0613
Update version in pyproject.toml to 2.0.0
madara-uchihaaa Sep 9, 2025
4922f56
Add App Version Management Methods to AppDefinitionClient
madara-uchihaaa Sep 10, 2025
1aa8f54
Refactor Analytics Client and Update Chart Management Functionality
madara-uchihaaa Sep 12, 2025
f82f62e
Update version in pyproject.toml to 2.0.1
madara-uchihaaa Sep 12, 2025
e498ac1
2.0.2: Using /internal endpoint for getAppDefinition
sarthak-clappia Sep 13, 2025
02ee955
2.0.3: Updating baseURL for app_definition_client
sarthak-clappia Sep 14, 2025
f9eafaa
2.0.4: Fixed endpoint for app_definition_client.get_app_definition
sarthak-clappia Sep 15, 2025
68d4a28
2.0.5: Using signatures from ClappiaExternalService/v3 (passing workp…
sarthak-clappia Sep 17, 2025
c529187
2.0.6: Created separate clients for API key and auth token authentica…
sarthak-clappia Sep 19, 2025
c8fa238
2.0.7: Added appId header to API requests
sarthak-clappia Sep 19, 2025
fc85dab
2.0.8: Added appId header to API requests
sarthak-clappia Sep 19, 2025
ee8e113
Update version to 2.0.8 and enhance API request handling
madara-uchihaaa Sep 23, 2025
8d46456
Enhance project structure and add pre-commit configuration
madara-uchihaaa Sep 25, 2025
e8a7a7c
Refactor type hints and improve model definitions across various requ…
madara-uchihaaa Sep 25, 2025
a735914
Update version to 2.0.9 in pyproject.toml
madara-uchihaaa Sep 26, 2025
e6703d2
Refactor response handling and remove deprecated models
madara-uchihaaa Oct 22, 2025
f324667
2.0.10: Updating endpoints for analytics and workflow definition clients
sarthak-clappia Oct 29, 2025
4c192be
Refactor and clean up client models and request handling
madara-uchihaaa Nov 4, 2025
0ba8f9e
Bump version to 2.0.11 in pyproject.toml
madara-uchihaaa Nov 6, 2025
691da31
Update pre-commit installation command in workflow files to use --sys…
madara-uchihaaa Nov 6, 2025
18d7bb8
Enhance pre-commit workflow configuration by adding git settings for …
madara-uchihaaa Nov 6, 2025
51d560d
Update Git configuration in pre-commit and publish workflows to use G…
madara-uchihaaa Nov 6, 2025
f1e0d64
Remove pre-commit configuration and associated workflow steps from Gi…
madara-uchihaaa Nov 6, 2025
17ed985
Bump version to 2.0.12 in pyproject.toml and update version to 2.0.11…
madara-uchihaaa Nov 6, 2025
35e206a
Update section_type field in ExternalSectionDetails and UpsertSection…
madara-uchihaaa Nov 12, 2025
3b3db80
Add File Management Client Integration
madara-uchihaaa Nov 18, 2025
5f2ccd6
Bump version to 2.0.14 in pyproject.toml
madara-uchihaaa Nov 18, 2025
41f7b1c
Refactor AppDefinitionClient to support optional body_html parameter
madara-uchihaaa Nov 18, 2025
90b05e2
Bump version to 2.0.15 in pyproject.toml
madara-uchihaaa Nov 18, 2025
08b2089
2.0.16: Update in API Utils to always creating new http client; new t…
sarthak-clappia Nov 21, 2025
6b965e4
2.0.17: Introduce pre-commit configuration and update version to 2.0.17
madara-uchihaaa Nov 21, 2025
af62d6a
Stable commit
madara-uchihaaa Nov 21, 2025
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
25 changes: 15 additions & 10 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Publish to PyPI

on:
push:
branches: [ master ]
branches: [master]
workflow_dispatch:

jobs:
Expand All @@ -15,16 +15,21 @@ jobs:
contents: read

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v2
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
enable-cache: true

- name: Set up Python
run: uv python install 3.10
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: "pip"

- name: Build package
run: uv build
- name: Build package
run: uv build

- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
230 changes: 214 additions & 16 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
cat > .gitignore << 'EOF'
# Python
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
Expand All @@ -17,31 +20,226 @@ parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# Virtual Environment
venv/
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Environment variables
.env
.env.local
# Spyder project settings
.spyderproject
.spyproject

# IDE
.vscode/
# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be added to the global gitignore or merged into this project gitignore. For a PyCharm
# project, it is generally recommended to include the project files (.idea) in version control.
.idea/

# VS Code
.vscode/
*.code-workspace

# Sublime Text
*.sublime-project
*.sublime-workspace
*.cursor/
# Vim
*.swp
*.swo
*~

# Testing
.pytest_cache/
.coverage
htmlcov/
# Emacs
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*

# Logs
*.log
# OS generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Windows
*.tmp
*.temp

# Ruff cache
.ruff_cache/

# UV lock file (comment out if you want to commit it)
# uv.lock

# Project specific
logs/
EOF
temp/
tmp/
*.bak
*.backup

# Configuration files with secrets
config/local.py
config/secrets.py
.secrets
secrets.json

# Local development files
docker-compose.override.yml
.env.local
.env.development.local
.env.test.local
.env.production.local

# Database
*.db
*.sqlite
*.sqlite3

# Compiled translations
*.mo

# Local certificates
*.pem
*.key
*.crt

# Profiling
*.prof

# Benchmarks
benchmark_results/

# Lock files (uncomment if you don't want to commit them)
# poetry.lock
# Pipfile.lock
# requirements.txt.lock
18 changes: 18 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
repos:
- repo: local
hooks:
- id: ruff
name: ruff
entry: uv run ruff check
language: system
types: [python]
pass_filenames: false
always_run: true

- id: mypy
name: mypy
entry: uv run mypy .
language: system
types: [python]
pass_filenames: false
always_run: true
36 changes: 36 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
.PHONY: install install-dev install-hooks format lint check clean build lock sync

# Installation
install: ## Install the package in production mode
uv pip install -e .

install-dev: ## Install the package with development dependencies
uv sync --all-extras

# Code Formatting & Linting
format: ## Format code with ruff
uv run ruff format .
uv run ruff check . --fix

lint: ## Run linting and type checking
uv run ruff check .
uv run mypy .

check: format lint ## Run all checks

# Cleanup
clean: ## Clean up build artifacts and cache
rm -rf build/ dist/ *.egg-info/ .mypy_cache/ .ruff_cache/
find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true
find . -type f -name "*.pyc" -delete

# Build
build: clean ## Build the package
uv build

# Lock Management
lock: ## Generate/update lock file
uv lock

sync: ## Sync environment with lock file
uv sync
Loading
Loading