Skip to main content

An easy-to-use seeder manager to keep seed data in sync across multiple environments.

Project description

Django Synced Seeds

PyPI version Python Support Django Support License: MIT

An easy-to-use seeder manager to keep seed data in sync across multiple environments. Perfect for managing reference data, initial configurations, and test data across development, staging, and production environments.

Installation

pip install django-synced-seeders

Add to your Django settings:

# settings.py
INSTALLED_APPS = [
    # ... your apps
    'seeds',
]

Run migrations:

python manage.py migrate

Quick Start

  1. Create your first seeder:
# myapp/seeders.py
from seeds import seeder_registry, Seeder
from .models import Category

@seeder_registry.register()
class CategorySeeder(Seeder):
    seed_slug = "categories"
    priority = 10  # Lower numbers load first (default: 100)
    exporting_querysets = (Category.objects.all(),)
  1. Export data:
python manage.py exportseed categories
  1. Sync to another environment:
python manage.py syncseeds

Tagging Seeders

Organize seeders with tags for targeted execution:

# myapp/seeders.py
from seeds import seeder_registry, Seeder
from .models import User, Product

@seeder_registry.register(tags="e2e")
class E2ETestSeeder(Seeder):
    seed_slug = "e2e_test_data"
    exporting_querysets = (User.objects.all(),)

@seeder_registry.register(tags=["development", "demo"])
class DemoSeeder(Seeder):
    seed_slug = "demo_data"
    exporting_querysets = (Product.objects.all(),)

Run seeders by tag:

# Sync only e2e tagged seeders
python manage.py syncseeds e2e

# Sync multiple tags (union of all matching seeders)
python manage.py syncseeds e2e development

# Sync all seeders (default behavior)
python manage.py syncseeds

Documentation

📚 Full Documentation: https://starscribers.github.io/django-synced-seeders/

Community & Support

💬 Discord Server: Join our community for discussions, support, and updates.

License

This project is licensed under the MIT License.

Project details


Download files

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

Source Distribution

django_synced_seeders-0.4.0.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

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

django_synced_seeders-0.4.0-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file django_synced_seeders-0.4.0.tar.gz.

File metadata

  • Download URL: django_synced_seeders-0.4.0.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for django_synced_seeders-0.4.0.tar.gz
Algorithm Hash digest
SHA256 dbd1c18515966e41e9154a45a3064c27b2ab7b6108e3e94d79c458b74f76c18f
MD5 c485a7973e659a8205b9c4d3939e57ea
BLAKE2b-256 c67d457830646ad93506fddc0afb49a51fb298fff06c03e62739035483068615

See more details on using hashes here.

File details

Details for the file django_synced_seeders-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: django_synced_seeders-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for django_synced_seeders-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5eaa9d686b79211e38ddf975cf1ac63947f8fc3ba46924f0caeb8b25a29761c6
MD5 3b258a91df4182c8f48d0dc075abbae6
BLAKE2b-256 f32f17f3ca48d42bb84b402d007d7afcb1eae8a8441952a4e4a188d368a6cfd0

See more details on using hashes here.

Supported by

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