Skip to main content

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.

PyPI version Python Version License CI/CD Pipeline Coverage Status Tests

📊 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.py with 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.py to 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)

Source distribution for crossmark-jotform-api 2.6.14
File Size Uploaded
crossmark_jotform_api-2.6.14.tar.gz 28.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for crossmark-jotform-api 2.6.14
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

2.6.14 This release

2 release files

2.6.9

2 release files

2.6.8

2 release files

2.6.7

2 release files

2.6.6

2 release files

2.6.5

2 release files

2.6.4

2 release files

2.6.3

2 release files

2.6.2

2 release files

2.6.1

2 release files

2.5.12

2 release files

2.5.11

2 release files

2.5.9

2 release files

2.5.6

2 release files

2.5.5

2 release files

2.5.4

2 release files

2.5.3

2 release files

2.5.2

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.4.9

2 release files

2.4.8

2 release files

2.4.7

2 release files

2.4.6

2 release files

2.4.5

2 release files

2.4.4

2 release files

2.4.3

2 release files

2.4.2

2 release files

2.4.1

2 release files

2.4.0

2 release files

2.3.5

2 release files

2.3.4

2 release files

2.3.3

2 release files

2.3.2

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.6

2 release files

2.1.5

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.4.0

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.9

2 release files

0.2.6

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page