django-simple-deploy


Namedjango-simple-deploy JSON
Version 1.1.1 PyPI version JSON
download
home_pageNone
SummaryDeployment, for Djangonauts with deadlines.
upload_time2025-09-13 14:35:18
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords django deployment
VCS
bugtrack_url
requirements asgiref babel black build certifi charset-normalizer click colorama distlib django docutils filelock ghp-import griffe id idna iniconfig jaraco-classes jaraco-context jaraco-functools jinja2 keyring markdown markdown-it-py markupsafe mdurl mergedeep mkdocs mkdocs-autorefs mkdocs-get-deps mkdocs-material mkdocs-material-extensions mkdocstrings mkdocstrings-python more-itertools mypy-extensions nh3 packaging paginate pathspec pipenv platformdirs pluggy pygments pymdown-extensions pyproject-hooks pytest python-dateutil pyyaml pyyaml-env-tag readme-renderer regex requests requests-toolbelt rfc3986 rich setuptools six sqlparse toml twine urllib3 virtualenv watchdog
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # django-simple-deploy

Deployment, for Djangonauts with deadlines.

## Documentation

The full documentation for this project is at [Read the Docs](https://django-simple-deploy.readthedocs.io/en/latest/).

## Recent media

[Django Simple Deploy and other DevOps Things](https://talkpython.fm/episodes/show/500/django-simple-deploy-and-other-devops-things) (Episode 500 of Talk Python)

It was an honor to be the guest on episode 500, that's a fantastic milestone for a podcast! This episode focuses on the state of `django-simple-deploy` as it reached the 1.0 release.

## Quickstart

`django-simple-deploy` gives you a management command that configures your project for an initial deployment. It currently supports deployments to [Fly.io](https://fly.io), [Platform.sh](https://platform.sh), and [Heroku](https://heroku.com). Each platform is supported by an external plugin, which means it's relatively straightforward to build support for additional hosting platforms. A [plugin](https://github.com/django-simple-deploy/dsd-vps) supporting VPS-based deployments is currently in development.

If you have a Django project that runs locally, you can deploy your project in a few short steps. The only change you'll need to make to your project is to add `django_simple_deploy` to `INSTALLED_APPS`.

![Simplest example of how to use django-simple-deploy](https://raw.githubusercontent.com/ehmatthes/django-simple-deploy/main/assets/simplest_example.png)

The above command will deploy your project to Fly.io. To deploy to another platform such as Platform.sh, just install a different plugin when you install `django-simple-deploy`:

```sh
$ pip install "django-simple-deploy[platform_sh]"
```

All output is captured and written to a log file stored in `dsd_logs/`, which is placed at the project's root directory.

Installing a plugin automatically installs `django-simple-deploy`. So for platforms supported by third-party plugins, the only difference is the installation step:

```sh
$ pip install <dsd-plugin-name>
# Add django_simple_deploy to INSTALLED_APPS
$ python manage.py deploy --automate-all
```

Configuration-only mode
---

The above example uses the `--automate-all` flag, which reduces deployment to three steps. The fully automated mode configures your project, commits changes for you, and pushes your code to the target platform's servers. There's also a configuration-only mode, which lets you inspect the changes made to your project before committing them and making the actual deployment. For a quick example, see the full [Fly.io Quick Start guide](https://django-simple-deploy.readthedocs.io/en/latest/quick_starts/quick_start_flyio/).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "django-simple-deploy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "django, deployment",
    "author": null,
    "author_email": "Eric Matthes <ehmatthes@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/a3/0f/d4c5157097861c6b71d232f29662ecfb589199224caecccb5fd038912083/django_simple_deploy-1.1.1.tar.gz",
    "platform": null,
    "description": "# django-simple-deploy\n\nDeployment, for Djangonauts with deadlines.\n\n## Documentation\n\nThe full documentation for this project is at [Read the Docs](https://django-simple-deploy.readthedocs.io/en/latest/).\n\n## Recent media\n\n[Django Simple Deploy and other DevOps Things](https://talkpython.fm/episodes/show/500/django-simple-deploy-and-other-devops-things) (Episode 500 of Talk Python)\n\nIt was an honor to be the guest on episode 500, that's a fantastic milestone for a podcast! This episode focuses on the state of `django-simple-deploy` as it reached the 1.0 release.\n\n## Quickstart\n\n`django-simple-deploy` gives you a management command that configures your project for an initial deployment. It currently supports deployments to [Fly.io](https://fly.io), [Platform.sh](https://platform.sh), and [Heroku](https://heroku.com). Each platform is supported by an external plugin, which means it's relatively straightforward to build support for additional hosting platforms. A [plugin](https://github.com/django-simple-deploy/dsd-vps) supporting VPS-based deployments is currently in development.\n\nIf you have a Django project that runs locally, you can deploy your project in a few short steps. The only change you'll need to make to your project is to add `django_simple_deploy` to `INSTALLED_APPS`.\n\n![Simplest example of how to use django-simple-deploy](https://raw.githubusercontent.com/ehmatthes/django-simple-deploy/main/assets/simplest_example.png)\n\nThe above command will deploy your project to Fly.io. To deploy to another platform such as Platform.sh, just install a different plugin when you install `django-simple-deploy`:\n\n```sh\n$ pip install \"django-simple-deploy[platform_sh]\"\n```\n\nAll output is captured and written to a log file stored in `dsd_logs/`, which is placed at the project's root directory.\n\nInstalling a plugin automatically installs `django-simple-deploy`. So for platforms supported by third-party plugins, the only difference is the installation step:\n\n```sh\n$ pip install <dsd-plugin-name>\n# Add django_simple_deploy to INSTALLED_APPS\n$ python manage.py deploy --automate-all\n```\n\nConfiguration-only mode\n---\n\nThe above example uses the `--automate-all` flag, which reduces deployment to three steps. The fully automated mode configures your project, commits changes for you, and pushes your code to the target platform's servers. There's also a configuration-only mode, which lets you inspect the changes made to your project before committing them and making the actual deployment. For a quick example, see the full [Fly.io Quick Start guide](https://django-simple-deploy.readthedocs.io/en/latest/quick_starts/quick_start_flyio/).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Deployment, for Djangonauts with deadlines.",
    "version": "1.1.1",
    "project_urls": {
        "Changelog": "https://github.com/django-simple-deploy/django-simple-deploy/blob/main/CHANGELOG.md",
        "Documentation": "https://django-simple-deploy.readthedocs.io/en/latest/",
        "GitHub": "https://github.com/django-simple-deploy/django-simple-deploy"
    },
    "split_keywords": [
        "django",
        " deployment"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "052a48c82b3d0af5c38b5410802f81f8c30d6fd4c2378e6c9a072b5142f77edc",
                "md5": "1db3b4a345a43a2f7bf947dbd8021e74",
                "sha256": "878d2ee87ba1767c6cab5f29e1a8ded9237cd60a320ad22eeff0b9a337473e52"
            },
            "downloads": -1,
            "filename": "django_simple_deploy-1.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1db3b4a345a43a2f7bf947dbd8021e74",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 25495,
            "upload_time": "2025-09-13T14:35:17",
            "upload_time_iso_8601": "2025-09-13T14:35:17.467547Z",
            "url": "https://files.pythonhosted.org/packages/05/2a/48c82b3d0af5c38b5410802f81f8c30d6fd4c2378e6c9a072b5142f77edc/django_simple_deploy-1.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a30fd4c5157097861c6b71d232f29662ecfb589199224caecccb5fd038912083",
                "md5": "f11c581788f43b2bab900e448af5c377",
                "sha256": "ee20801e937e15c4fe5dab00c8241275a6631ff286e94abb7ebfdb500c2c59fb"
            },
            "downloads": -1,
            "filename": "django_simple_deploy-1.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "f11c581788f43b2bab900e448af5c377",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 65115,
            "upload_time": "2025-09-13T14:35:18",
            "upload_time_iso_8601": "2025-09-13T14:35:18.740491Z",
            "url": "https://files.pythonhosted.org/packages/a3/0f/d4c5157097861c6b71d232f29662ecfb589199224caecccb5fd038912083/django_simple_deploy-1.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-13 14:35:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "django-simple-deploy",
    "github_project": "django-simple-deploy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "asgiref",
            "specs": [
                [
                    "==",
                    "3.8.1"
                ]
            ]
        },
        {
            "name": "babel",
            "specs": [
                [
                    "==",
                    "2.17.0"
                ]
            ]
        },
        {
            "name": "black",
            "specs": [
                [
                    "==",
                    "25.1.0"
                ]
            ]
        },
        {
            "name": "build",
            "specs": [
                [
                    "==",
                    "1.2.2.post1"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2025.1.31"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.4.1"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    "==",
                    "8.1.8"
                ]
            ]
        },
        {
            "name": "colorama",
            "specs": [
                [
                    "==",
                    "0.4.6"
                ]
            ]
        },
        {
            "name": "distlib",
            "specs": [
                [
                    "==",
                    "0.3.9"
                ]
            ]
        },
        {
            "name": "django",
            "specs": [
                [
                    "==",
                    "5.1.6"
                ]
            ]
        },
        {
            "name": "docutils",
            "specs": [
                [
                    "==",
                    "0.21.2"
                ]
            ]
        },
        {
            "name": "filelock",
            "specs": [
                [
                    "==",
                    "3.17.0"
                ]
            ]
        },
        {
            "name": "ghp-import",
            "specs": [
                [
                    "==",
                    "2.1.0"
                ]
            ]
        },
        {
            "name": "griffe",
            "specs": [
                [
                    "==",
                    "1.5.6"
                ]
            ]
        },
        {
            "name": "id",
            "specs": [
                [
                    "==",
                    "1.5.0"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.10"
                ]
            ]
        },
        {
            "name": "iniconfig",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "jaraco-classes",
            "specs": [
                [
                    "==",
                    "3.4.0"
                ]
            ]
        },
        {
            "name": "jaraco-context",
            "specs": [
                [
                    "==",
                    "6.0.1"
                ]
            ]
        },
        {
            "name": "jaraco-functools",
            "specs": [
                [
                    "==",
                    "4.1.0"
                ]
            ]
        },
        {
            "name": "jinja2",
            "specs": [
                [
                    "==",
                    "3.1.5"
                ]
            ]
        },
        {
            "name": "keyring",
            "specs": [
                [
                    "==",
                    "25.6.0"
                ]
            ]
        },
        {
            "name": "markdown",
            "specs": [
                [
                    "==",
                    "3.7"
                ]
            ]
        },
        {
            "name": "markdown-it-py",
            "specs": [
                [
                    "==",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "markupsafe",
            "specs": [
                [
                    "==",
                    "3.0.2"
                ]
            ]
        },
        {
            "name": "mdurl",
            "specs": [
                [
                    "==",
                    "0.1.2"
                ]
            ]
        },
        {
            "name": "mergedeep",
            "specs": [
                [
                    "==",
                    "1.3.4"
                ]
            ]
        },
        {
            "name": "mkdocs",
            "specs": [
                [
                    "==",
                    "1.6.1"
                ]
            ]
        },
        {
            "name": "mkdocs-autorefs",
            "specs": [
                [
                    "==",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "mkdocs-get-deps",
            "specs": [
                [
                    "==",
                    "0.2.0"
                ]
            ]
        },
        {
            "name": "mkdocs-material",
            "specs": [
                [
                    "==",
                    "9.6.3"
                ]
            ]
        },
        {
            "name": "mkdocs-material-extensions",
            "specs": [
                [
                    "==",
                    "1.3.1"
                ]
            ]
        },
        {
            "name": "mkdocstrings",
            "specs": [
                [
                    "==",
                    "0.28.0"
                ]
            ]
        },
        {
            "name": "mkdocstrings-python",
            "specs": [
                [
                    "==",
                    "1.14.6"
                ]
            ]
        },
        {
            "name": "more-itertools",
            "specs": [
                [
                    "==",
                    "10.6.0"
                ]
            ]
        },
        {
            "name": "mypy-extensions",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "nh3",
            "specs": [
                [
                    "==",
                    "0.2.20"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "24.2"
                ]
            ]
        },
        {
            "name": "paginate",
            "specs": [
                [
                    "==",
                    "0.5.7"
                ]
            ]
        },
        {
            "name": "pathspec",
            "specs": [
                [
                    "==",
                    "0.12.1"
                ]
            ]
        },
        {
            "name": "pipenv",
            "specs": [
                [
                    "==",
                    "2024.4.1"
                ]
            ]
        },
        {
            "name": "platformdirs",
            "specs": [
                [
                    "==",
                    "4.3.6"
                ]
            ]
        },
        {
            "name": "pluggy",
            "specs": [
                [
                    "==",
                    "1.5.0"
                ]
            ]
        },
        {
            "name": "pygments",
            "specs": [
                [
                    "==",
                    "2.19.1"
                ]
            ]
        },
        {
            "name": "pymdown-extensions",
            "specs": [
                [
                    "==",
                    "10.14.3"
                ]
            ]
        },
        {
            "name": "pyproject-hooks",
            "specs": [
                [
                    "==",
                    "1.2.0"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    "==",
                    "8.3.4"
                ]
            ]
        },
        {
            "name": "python-dateutil",
            "specs": [
                [
                    "==",
                    "2.9.0.post0"
                ]
            ]
        },
        {
            "name": "pyyaml",
            "specs": [
                [
                    "==",
                    "6.0.2"
                ]
            ]
        },
        {
            "name": "pyyaml-env-tag",
            "specs": [
                [
                    "==",
                    "0.1"
                ]
            ]
        },
        {
            "name": "readme-renderer",
            "specs": [
                [
                    "==",
                    "44.0"
                ]
            ]
        },
        {
            "name": "regex",
            "specs": [
                [
                    "==",
                    "2024.11.6"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.32.3"
                ]
            ]
        },
        {
            "name": "requests-toolbelt",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "rfc3986",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    "==",
                    "13.9.4"
                ]
            ]
        },
        {
            "name": "setuptools",
            "specs": [
                [
                    "==",
                    "75.8.0"
                ]
            ]
        },
        {
            "name": "six",
            "specs": [
                [
                    "==",
                    "1.17.0"
                ]
            ]
        },
        {
            "name": "sqlparse",
            "specs": [
                [
                    "==",
                    "0.5.3"
                ]
            ]
        },
        {
            "name": "toml",
            "specs": [
                [
                    "==",
                    "0.10.2"
                ]
            ]
        },
        {
            "name": "twine",
            "specs": [
                [
                    "==",
                    "6.1.0"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.3.0"
                ]
            ]
        },
        {
            "name": "virtualenv",
            "specs": [
                [
                    "==",
                    "20.29.1"
                ]
            ]
        },
        {
            "name": "watchdog",
            "specs": [
                [
                    "==",
                    "6.0.0"
                ]
            ]
        }
    ],
    "lcname": "django-simple-deploy"
}
        
Elapsed time: 1.39395s