Django Synced Seeds Documentation#

PyPI version Python Support Django Support License: MIT Tests

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.

Features#

Version Control for Seeds - Track and manage seed versions with automatic revision tracking

Environment Sync - Keep data consistent across development, staging, and production

Export & Import - Easy data export from any environment and import to others

Selective Loading - Load only the seeds you need with intelligent version checking

Django Integration - Built specifically for Django with full ORM support

Test-Friendly - Comprehensive test suite with function-based tests

Extensible - Easy to extend with custom seeders for your specific needs

Quick Start#

Install django-synced-seeders:

Using uv (Recommended)

Using pip

pip install django-synced-seeders

Add to your Django settings:

1
2
3
4
5
# settings.py
INSTALLED_APPS = [
    # ... your apps
    'seeders',
]

Run migrations:

python manage.py migrate

Create your first seeder:

1
2
3
4
5
6
7
8
# myapp/seeders.py
from seeds import seeder_registry, Seeder
from .models import Category

@seeder_registry.register()
class CategorySeeder(Seeder):
    seed_slug = "categories"
    exporting_querysets = (Category.objects.all(),)

Export and sync data:

# Export data from current environment
python manage.py exportseed categories
# Sync to another environment
python manage.py syncseeds

License#

This project is licensed under the MIT License.


Happy coding!

Table of Contents#

Community#

Indices and tables#

Features#

Version Control for Seeds - Track and manage seed versions with automatic revision tracking

Environment Sync - Keep data consistent across development, staging, and production

Export & Import - Easy data export from any environment and import to others

Selective Loading - Load only the seeds you need with intelligent version checking

Django Integration - Built specifically for Django with full ORM support

Test-Friendly - Comprehensive test suite with function-based tests

Extensible - Easy to extend with custom seeders for your specific needs

Quick Start#

pip install django-synced-seeders

Add to your Django settings:

1
2
3
4
5
# settings.py
INSTALLED_APPS = [
    # ... your apps
    'seeders',
]

Run migrations:

python manage.py migrate

Create your first seeder:

1
2
3
4
5
6
7
8
# myapp/seeders.py
from seeds import seeder_registry, Seeder
from .models import Category

@seeder_registry.register()
class CategorySeeder(Seeder):
    seed_slug = "categories"
    exporting_querysets = (Category.objects.all(),)

Export and sync data:

# Export data
python manage.py exportseed categories

# Sync to another environment
python manage.py syncseeds

Community#

Indices and tables#