This release is a pre-release and may not be stable for production use.
Anytype Python Client
A Python client for interacting with Anytype. Automate workflows and integrate with your apps! ✨
🚀 Features
- Seamless Integration: Connect Python scripts directly to your Anytype workspace.
- Object Management: Create, modify, and organize pages, notes, and custom objects.
- Space Operations: Manage spaces, types, and relations programmatically.
- Batch Operations: Export data, automate repetitive tasks, and more.
- PDF Import Example: Bulk import annotated PDFs as structured notes (see examples).
📦 Installation
pip install anytype-client
Prerequisites:
- Python 3.10+
- Anytype desktop app (v0.44.13-beta or higher) running during authentication
⚡ Quick Start
- Authentication
from anytype import Anytype
# Initialize client (first run triggers authentication)
any = Anytype()
any.auth() # 🔑 Enter 4-digit code from Anytype app when prompted
- Create Your First Object
from anytype import Object
# Get your workspace
spaces = any.get_spaces()
my_space = spaces[0] # Use your preferred space
# Create a new page
note_type = my_space.get_type("Page")
new_note = Object()
new_note.name = "My Python-Powered Note 📝"
new_note.icon = "🔥"
new_note.description = "Automatically generated via Python API"
# Add rich content
new_note.add_title1("Welcome to Automated Knowledge Management!")
new_note.add_text("This section was created programmatically using Python")
# Commit to workspace
created_object = my_space.create_object(new_note, note_type)
print(f"Created object: {created_object.name}")
API 2025-11-08
List endpoints accept the API's dynamic filter syntax as a dictionary, global search accepts the complete search body, and spaces expose chat listing and file upload:
spaces = any.get_spaces(filters={"name[contains]": "project"})
pages = any.global_search(
"roadmap",
types=["page", "task"],
sort={"direction": "desc", "property_key": "last_modified_date"},
)
chats = spaces[0].get_chats(limit=50)
uploaded = spaces[0].upload_file("./report.pdf")
objects = spaces[0].get_objects(
filters={"type": "page", "created_date[gte]": "2024-01-01"}
)
🌟 Examples
| Example | Description | Results |
|---|---|---|
| 📄 Hello World | Create a basic note with formatted text | Check Result |
| 🏷️ Custom properties | Create from a type and template with date and object properties | — |
| 🔌 API 2025-11-08 | Explore listing, search, tags, templates, upload, and list objects | — |
| 📚 PDF Notes Importer | Batch import annotated PDFs | Check Result |
| More examples coming as Anytype API evolves | Request a feature | ⚔️ |
📄 Documentation
Check the documentation here!
🤝 Contributing
Contributions are welcomed! Here's how to help:
- Report bugs or request features via Issues
- Submit pull requests for improvements
- Share your use cases in Discussions
📄 License
GPL-3.0 License - see LICENSE for details.
Metadata
Release files for anytype-client 1.0.0a2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| anytype_client-1.0.0a2.tar.gz | 50.0 kB | Without provenance | Details for anytype_client-1.0.0a2.tar.gz |
Release files / anytype_client-1.0.0a2.tar.gz
| Download URL | anytype_client-1.0.0a2.tar.gz |
|---|---|
| Size | 50.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b8a2a19227b3e2a7f9e0809750fd512d122849fbe68ae44309d9e46c321ab4b8
|
|
BLAKE2b-256 checksum How to use checksums |
cddcffa42d49595dbcc95d7eb2c89c730321712567a792ac3da1a631df6bd659
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Security for anytype-client 1.0.0a2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.