Metadata-Version: 1.2
Name: dev-env
Version: 0.6.21
Summary: Dev Env
Home-page: https://github.com/simonsdave/dev-env
Author: Dave Simons
Author-email: simonsdave@gmail.com
Maintainer: Dave Simons
Maintainer-email: simonsdave@gmail.com
License: MIT
Download-URL: https://github.com/simonsdave/dev-env/tarball/v0.6.21
Description: dev-env
        =======
        
        |Maintained| |MIT license| |PythonVersions| |status| |PyPI|
        |Requirements| |CodeFactor| |CircleCI| |codecov|
        |docker-simonsdave/bionic-dev-env|
        
        This repo was originally created as a way to centralize and document the
        process of provisioning development environments (dev env). As time went
        on it became clear that it would be helpful to centralize other common
        development tools and utilities. This repo now contains tools, scripts
        and utilities which:
        
        -  provision dev and CI environments using
           `Docker <https://www.docker.com/>`__ with confidence that both the
           development and CI environments are the same
        -  automate cutting releases
        -  simplify integration testing
        
        The tools, scripts and utilities in this repo assume the user follows a
        pre-defined set of patterns and practices.
        
        Key Concepts
        ------------
        
        -  a project is hosted in either public or private github repo
        -  at the project’s root is a text file called ``cfg4dev`` which
           configures the project’s dev env
        -  after git cloning the repo, a developer configures the dev env by
           executing ``source cfg4dev``
        -  ``dev-env`` publishes dev env docker images to `Docker
           Hub <https://hub.docker.com/>`__
        -  the docker images are docker pulled to a developer’s machine by
           ``cfg4dev``
        -  `CircleCI <https://www.circleci.com>`__ can use a ``dev-env`` docker
           image as a `docker
           executor <https://circleci.com/docs/2.0/executor-types/#using-docker>`__
        -  `shell and python scripts <bin>`__ are run on a developer’s machine
           to access the dev env packaged in the docker image
        -  the scripts are installed on a developer’s machine by ``cfg4dev``
        -  at the project’s root is a text file called ``CHANGELOG.md`` which is
           manually curated by developers to record key changes to the project
        
        Assumptions
        -----------
        
        -  developers use `macOS <https://www.apple.com/ca/macos/>`__
        -  ``dev-env`` targets projects which are shell and Python centric
        -  if a project’s repo is called ``abc-def-ghi`` and the project builds
           a Python package, the package is called ``abc_def_ghi`` and the
           source code for the package is in a sub-directory of the project’s
           root directory called ``abc_def_ghi`` - in addition, the
           ``abc_def_ghi`` directory contains a file called ``__init__.py`` that
           contains at least a single line that looks like
           ``__version__ = '1.2.0'`` which declares the Python package version
        -  scripts and Dockerfiles to build a project’s development environment
           are in a sub-directory of the project’s root directory called
           ``dev_env``
        -  projects use a branching strategy something like
        
           -  all development is done on the ``master`` branch (optionally using
              `feature
              branches <https://guides.github.com/introduction/flow/>`__)
           -  use `Semantic Versioning <http://semver.org/>`__
           -  for each release a new branch is created from master called
              ``release-<version>``
        
        -  ``CHANGELOG.md`` follows a predefined format / structure
        
        What Next
        ---------
        
        -  take a look at the `shell and python scripts <bin>`__ to assess
           ``dev-env`` capability
        -  `here’s <docs/using.md>`__ a description of how to start using
           ``dev-env``
        -  take a look at
           `this <https://github.com/simonsdave/dev-env-testing>`__ github repo
           which illustrates how to use ``dev-env``
        -  if you’d like to help contribute to ``dev-env`` see
           `this <docs/contributing.md>`__
        
        References/Inspirations
        -----------------------
        
        -  `21 Nov ’18 - How to fully utilise Docker during
           development <https://medium.com/tsftech/how-to-fully-utilise-docker-during-development-42bb3cdc3017>`__
        -  `semantic-release - fully automated version management and package
           publishing <https://github.com/semantic-release/semantic-release>`__
        
        .. |Maintained| image:: https://img.shields.io/maintenance/yes/2022.svg?style=flat
        .. |MIT license| image:: http://img.shields.io/badge/license-MIT-brightgreen.svg
           :target: http://opensource.org/licenses/MIT
        .. |PythonVersions| image:: https://img.shields.io/pypi/pyversions/dev-env.svg?style=flat
        .. |status| image:: https://img.shields.io/pypi/status/dev-env.svg?style=flat
        .. |PyPI| image:: https://img.shields.io/pypi/v/dev-env.svg?style=flat
           :target: https://pypi.python.org/pypi/dev-env
        .. |Requirements| image:: https://requires.io/github/simonsdave/dev-env/requirements.svg?branch=release-0.6.21
           :target: https://requires.io/github/simonsdave/dev-env/requirements/?branch=release-0.6.21
        .. |CodeFactor| image:: https://www.codefactor.io/repository/github/simonsdave/dev-env/badge/release-0.6.21
           :target: https://www.codefactor.io/repository/github/simonsdave/dev-env/overview/release-0.6.21
        .. |CircleCI| image:: https://circleci.com/gh/simonsdave/dev-env/tree/release-0.6.21.svg?style=shield
           :target: https://circleci.com/gh/simonsdave/dev-env/tree/release-0.6.21
        .. |codecov| image:: https://codecov.io/gh/simonsdave/dev-env/branch/release-0.6.21/graph/badge.svg
           :target: https://codecov.io/gh/simonsdave/dev-env/branch/release-0.6.21
        .. |docker-simonsdave/bionic-dev-env| image:: https://img.shields.io/badge/docker-simonsdave%2Fbionic--dev--env-blue.svg
           :target: https://hub.docker.com/r/simonsdave/bionic-dev-env/
        
Keywords: development,tools
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Libraries :: Python Modules
