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.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
Release files for crossmark-jotform-api 2.6.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| crossmark_jotform_api-2.6.14.tar.gz | 28.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| crossmark_jotform_api-2.6.14-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 46.5 kB
Release files / crossmark_jotform_api-2.6.14.tar.gz
| Download URL | crossmark_jotform_api-2.6.14.tar.gz |
|---|---|
| Size | 28.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ba5e14ef05473489dcf356bd72d7f0f5b4f3389d24391296d9d6ba64f549563a
|
|
BLAKE2b-256 checksum How to use checksums |
555b284be6d2c2f910717b366e4c0a8dbb04d55c6e5eea6bb2b4e267ef33fe9b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / crossmark_jotform_api-2.6.14-py3-none-any.whl
| Download URL | crossmark_jotform_api-2.6.14-py3-none-any.whl |
|---|---|
| Size | 18.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
da226fb08a785c2c3aa64bcc5beba750eb2e844bcb9c11e89634a91c6a9d0b9f
|
|
BLAKE2b-256 checksum How to use checksums |
1391e9a07d431b1c5ed7d376f2ea7f87b5ce586b0aaa3b8a7db3e966aff93edf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|