|
| 1 | +A Simple Python Project Skeleton |
| 2 | +================================ |
| 3 | +This repo attempts to standardize the structure of the Python-based project's |
| 4 | +repositories using modern Python packaging and configuration techniques. |
| 5 | +Using this `blog post`_ as inspiration, this repository serves as the base for |
| 6 | +all new Python projects and is mergeable in existing repositories as well. |
| 7 | + |
| 8 | +.. _blog post: https://blog.jaraco.com/a-project-skeleton-for-python-projects/ |
| 9 | + |
| 10 | + |
| 11 | +Usage |
| 12 | +===== |
| 13 | + |
| 14 | +A brand new project |
| 15 | +------------------- |
| 16 | +.. code-block:: bash |
| 17 | +
|
| 18 | + git init my-new-repo |
| 19 | + cd my-new-repo |
| 20 | + git pull [email protected]:nexB/skeleton |
| 21 | +
|
| 22 | + # Create the new repo on GitHub, then update your remote |
| 23 | + git remote set-url origin [email protected]:nexB/your-new-repo.git |
| 24 | +
|
| 25 | +From here, you can make the appropriate changes to the files for your specific project. |
| 26 | + |
| 27 | +Update an existing project |
| 28 | +--------------------------- |
| 29 | +.. code-block:: bash |
| 30 | +
|
| 31 | + cd my-existing-project |
| 32 | + git remote add skeleton [email protected]:nexB/skeleton |
| 33 | + git fetch skeleton |
| 34 | + git merge skeleton/main --allow-unrelated-histories |
| 35 | +
|
| 36 | +This is also the workflow to use when updating the skeleton files in any given repository. |
| 37 | + |
| 38 | +More usage instructions can be found in ``docs/skeleton-usage.rst``. |
| 39 | + |
| 40 | + |
| 41 | +Release Notes |
| 42 | +============= |
| 43 | + |
| 44 | +- 2022-03-04: |
| 45 | + - Synchronize configure and configure.bat scripts for sanity |
| 46 | + - Update CI operating system support with latest Azure OS images |
| 47 | + - Streamline utility scripts in etc/scripts/ to create, fetch and manage third-party dependencies |
| 48 | + There are now fewer scripts. See etc/scripts/README.rst for details |
| 49 | + |
| 50 | +- 2021-09-03: |
| 51 | + - ``configure`` now requires pinned dependencies via the use of ``requirements.txt`` and ``requirements-dev.txt`` |
| 52 | + - ``configure`` can now accept multiple options at once |
| 53 | + - Add utility scripts from scancode-toolkit/etc/release/ for use in generating project files |
| 54 | + - Rename virtual environment directory from ``tmp`` to ``venv`` |
| 55 | + - Update README.rst with instructions for generating ``requirements.txt`` and ``requirements-dev.txt``, |
| 56 | + as well as collecting dependencies as wheels and generating ABOUT files for them. |
| 57 | + |
| 58 | +- 2021-05-11: |
| 59 | + - Adopt new configure scripts from ScanCode TK that allows correct configuration of which Python version is used. |
0 commit comments