
Research
/Security News
Contagious Interview Campaign Escalates With 67 Malicious npm Packages and New Malware Loader
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.
A CLI tool to automate the creation and synchronization of Appwrite database collections from a JSON schema
Here is the updated full README.md
with all relevant sections, including installation from PyPI and TestPyPI, publishing instructions, developer mode, and licensing.
README.md
for appwrite-sync
# appwrite-sync
**`appwrite-sync`** is a CLI tool to automate the creation and synchronization of Appwrite database collections from a JSON schema. It's designed for developers who want to version and manage their Appwrite collections in a clean and repeatable way—ideal for CI/CD, team collaboration, and structured schema design.
---
## 🚀 Features
- 🔁 Sync collections, attributes, relationships, and indexes
- 📁 Reads from a single `schema.json` definition
- ⚙️ Supports all common attribute types including `string`, `enum`, `relationship`
- ✅ Idempotent: avoids duplication and handles existing resources gracefully
- 🛠 CLI-first: easily scriptable and automatable
- 📦 Packaged and installable from PyPI
---
## 📦 Installation
### From PyPI
```bash
pip install appwrite-sync
pip install --index-url https://test.pypi.org/simple/ appwrite-sync
Generate a sample .env
file and schema.json
template in your current directory:
appwrite-sync init
.env
ENDPOINT=http://localhost/v1
PROJECT_ID=your-project-id
DB_ID=your-database-id
API_KEY=your-appwrite-api-key
Edit schema.json
to define collections, attributes, and indexes. Example:
{
"users": {
"name": "Users",
"attributes": {
"email": {
"type": "email",
"required": true
},
"role": {
"type": "enum",
"required": true,
"elements": ["admin", "user"]
}
},
"indexes": [
{
"key": "unique_email",
"type": "unique",
"attributes": ["email"]
}
]
}
}
Make sure your .env
is sourced:
source .env
Then run:
appwrite-sync sync
Or pass DB ID directly:
appwrite-sync sync --db-id your-db-id
string
, email
, url
, integer
, boolean
, datetime
enum
with elements
relationship
with relatedCollection
, relationType
, and twoWay
git clone https://github.com/aboidrees/appwrite-sync.git
cd appwrite-sync
pip install -e . --config-settings editable_mode=compat
python -m build
twine upload dist/*
To upload to TestPyPI instead:
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
pip install appwrite-sync
This project is licensed under the MIT License.
See the LICENSE
file for full details.
Developed by [Muhammad Yousif]
GitHub: https://github.com/aboidrees
---
Would you like me to also generate a matching `LICENSE` file now? If so, let me know what name you want to appear in the copyright.
FAQs
A CLI tool to automate the creation and synchronization of Appwrite database collections from a JSON schema
We found that appwrite-sync demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.
Security News
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.