Jotform api integration dedicated for server usage which limits calls and calling form only if there is a new submission
Project description
CROSSMARK JOTFORM API
Reason of this library is to provide a simple and easy-to-use interface for interacting with the JotForm API. It is designed to be used by developers who want to integrate JotForm functionality into their applications.
📊 Code Coverage
This project maintains comprehensive test coverage to ensure code quality and reliability.
- Current Coverage: ~51% and growing
- Testing Framework: pytest with coverage.py
- Coverage Reports: HTML, XML, and Terminal formats
- CI Integration: Automated coverage reporting via GitHub Actions
Running Tests Locally
# Install development dependencies
pip install -r dev_requirements.txt
pip install -e .
# Run tests with coverage
./run_coverage.sh
# Or manually:
pytest --cov=src/crossmark_jotform_api --cov-report=term-missing --cov-report=html --cov-report=xml --cov-branch
# View HTML coverage report
open htmlcov/index.html
# Example command to run a specific unit test:
/home/raq/crossmark-jotform-api && python3 -m unittest tests.test_jotform_unit.TestJotFormUnit.test_create_and_delete_submission -v
Coverage Integration
We use the officially recommended approach for Python coverage reporting:
- Local Development:
coverage.pywith HTML reports - CI/CD: GitHub Actions with Coveralls integration
- Format: Cobertura XML for maximum compatibility
The project follows Coveralls' recommended setup for Python projects using:
- GitHub Actions for CI
coverage.pyto generate Cobertura XML reports- Official Coveralls GitHub Action for uploads
🚀 CI/CD Pipeline
This project includes a comprehensive CI/CD pipeline that ensures code quality and reliability:
Automated Testing
- Multi-Python Version Testing: Tests run on Python 3.8, 3.9, 3.10, 3.11, and 3.12
- Pull Request Validation: All PRs are automatically tested before merging
- Coverage Threshold: Minimum 50% test coverage required for CI to pass
- Quality Gates: Tests must pass before deployment to PyPI
Coverage Reporting
- Dual Coverage Uploads: Reports sent to both Coveralls and Codecov
- Branch Coverage: Comprehensive branch coverage tracking
- HTML Reports: Detailed coverage reports available as CI artifacts
- Coverage Badges: Real-time coverage status in README
Deployment
- Automated PyPI Publishing: Packages are automatically published to PyPI on master branch pushes
- Quality Assurance: Only code that passes all tests and coverage thresholds gets deployed
- Trusted Publishing: Uses PyPI's trusted publishing for secure deployments
Workflow Files
.github/workflows/ci-cd.yml- Main CI/CD pipeline with testing and publishing.github/workflows/test-coverage.yml- Dedicated coverage reporting and artifact generation
Examples
from jotform_api import JotformAPI
# Initialize the API with your API key
api = JotformAPI('YOUR_API_KEY')
# Get user details
user = api.get_user()
print(user)
# List all forms
forms = api.get_forms()
for form in forms:
print(form['title'])
# Get submissions for a specific form
form_id = '1234567890'
submissions = api.get_form_submissions(form_id)
for submission in submissions:
print(submission)
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
License
This project is licensed under the MIT License. See the LICENSE file for details.
© 2025 Mirkan
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file crossmark_jotform_api-2.6.3.tar.gz.
File metadata
- Download URL: crossmark_jotform_api-2.6.3.tar.gz
- Upload date:
- Size: 24.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60319a69b1c8074eecdf03390c21d84a0a6d648d81c21245a2a81d4d183c89e9
|
|
| MD5 |
a96e47a7d6d69c12ec5fe53ce64dc553
|
|
| BLAKE2b-256 |
fdf3cb4719fe47436527edc702c932ac24102a244c4c8a0094a3f770da84b71d
|
File details
Details for the file crossmark_jotform_api-2.6.3-py3-none-any.whl.
File metadata
- Download URL: crossmark_jotform_api-2.6.3-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6bc8f69556d7e5563b545ad946608fe9d9e53be4e23079f1bbe763d19e8d8f9
|
|
| MD5 |
60f68328850fb41bc03210b73a7b4c40
|
|
| BLAKE2b-256 |
e6b13681ce959ff831393a1120edb87d54de158dc17ce3155e0f5282fae059a6
|