Skip to main content

novence (Python)

Python SDK for Novence — static site hosting built for AI agents.

pip install novence

Requires Python 3.10+. No third-party dependencies — standard library only.

Quick start

from novence import Novence, bootstrap_account, verify_email

boot = bootstrap_account("you@example.com")     # emails a 6-digit OTP
verify_email("you@example.com", "123456")

client = Novence(api_key=boot["apiKey"])
project = client.create_project("launch")
pid = project["project"]["id"]

client.upload_bytes(pid, "index.html", "text/html; charset=utf-8", b"<h1>hi</h1>")
client.deploy(pid)

deployment = client.wait_for_deployment(pid)     # polls until live or failed
print(deployment["liveUrl"])

Configuration

base_url defaults to https://api.novence.ai. Override per client, or set NOVENCE_BASE_URL to point everything at a different control plane:

client = Novence(api_key=key, base_url="http://127.0.0.1:8080")

The variable is read at call time, so setting it after import still works.

Deploys are asynchronous

deploy() returns as soon as the deployment is queued. Use wait_for_deployment(project_id, timeout=300, interval=2) to block until it is live, or poll latest_deployment(project_id) yourself.

checks_results["passed"] is None when checks were skipped (unverified accounts). That is not a pass.

API

Area Methods
Projects create_project list_projects get_project update_project project_usage project_analytics
Uploads upload_dir upload_file upload_bytes get_upload_url get_upload_urls_batch confirm_upload confirm_batch
Deploys deploy latest_deployment wait_for_deployment
Domains configure_domain domain_status
Forms create_form list_forms get_form update_form delete_form list_form_submissions delete_form_submission
Billing quotas checkout billing_portal mpp_upgrade
Account get_account account_console_kit create_session revoke_session revoke_api_key

Module-level: bootstrap_account verify_email resend_verification reissue_api_key.

reissue_api_key issues a new key and revokes the old one — rebuild your client with the returned key.

Uploading a directory

result = client.upload_dir(pid, "./dist")
result["uploaded"]   # site paths that went up
result["skipped"]    # local files whose extension the platform does not accept

Dotfiles and dot-directories (.git, .env) are skipped, matching the TypeScript SDK.

Errors

Every API error raises RuntimeError carrying the API's message — including rate limits and quota rejections.

Security

nv_ keys are server-side credentials. Read them from the environment; never commit one or put one in client-side code.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

novence-0.2.1.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

novence-0.2.1-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file novence-0.2.1.tar.gz.

File metadata

  • Download URL: novence-0.2.1.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.5

File hashes

Hashes for novence-0.2.1.tar.gz
Algorithm Hash digest
SHA256 61301ebcd2674d34974f6c5c5f760c265ff3c0cf677b9ce8cfcc6a036e5fd377
MD5 6e248761ea4e5480dc3286774ad9516e
BLAKE2b-256 6d9df2e37c0946f744382014d330728a9696342c493a1ad3dbfaef2f85e0c039

See more details on using hashes here.

File details

Details for the file novence-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: novence-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.5

File hashes

Hashes for novence-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4c77f76da07a61767dfcdfdcae7de1fd599be13fb92fe31535a7e5f973e316ca
MD5 f399c7a435bd041086732491e1d9cdbb
BLAKE2b-256 876cea6735daecd7813cccda18dccb23bd857ac09fc64a343111760b2148c990

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

0.2.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page