Skip to main content

Generate new projects from git repositories

Project description

new

Build  PyPI version versions

Generate new projects from git repositories

new is a command to create new projects based on existing git repos. It simply shallow clones a repository to a directory with your specified new project name, and cleans up the git files like they were never there. It also supports 1:1 string replacement.

Installation Options

https://pypi.org/project/new-project/

PyPi

pip install new-project

Usage

You can create new project from any github repository with just the username and project name

The following command will create a new project for you based on this one, if you do not provide a full git url it will default to GitHub:

new myNewProject divanvisagie/new

You can also specify a URL to any git repository that you have access to:

new myNewProject git@gitlab.com:divan/new.git

These examples are just simple clones though, new also lets authors configure a repository so that it will prompt you to replace strings that you may want to rename for your project.

You can give it a try with:

new myNewProject divanvisagie/kotlin-tested-seed

You will see that it prompts you to replace the package name, just pressing enter will skip this and keep the name:

> new myNewProject divanvisagie/kotlin-tested-seed
Creating testbed from https://github.com/divanvisagie/kotlin-tested-seed.git 
Enumerating objects: 14, done.
Counting objects: 100% (14/14), done.
Compressing objects: 100% (9/9), done.
Total 14 (delta 0), reused 10 (delta 0), pack-reused 0

Enter replacement text for com.divanvisagie.example

    text       : com.divanvisagie.example
    description: The package name

> com.divanvisagie.mynewproject

The reason we see this is because the kotlin-tested-seed repository contains a .new.yml file at its root:

replace:
  strings:
    - match: com.divanvisagie.example
      description: The package name

You can configure as many match strings as you want in your own seed projects.

Development

Set up the python environment with:

python -m venv env

Install dependencies

pip install -r requirements.txt

Tests are run with pytest

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

new-project-0.5.4.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

new_project-0.5.4-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file new-project-0.5.4.tar.gz.

File metadata

  • Download URL: new-project-0.5.4.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3

File hashes

Hashes for new-project-0.5.4.tar.gz
Algorithm Hash digest
SHA256 a737b2b6fc0a536c5a8fccf9f6f313b4bb2f684bbbf31c50a5f2bdd64472cc6d
MD5 a6c2497a42a26fa5f4624bb7a943ab0b
BLAKE2b-256 b5405aa89dd29d867829e28254e6ca7e9381e5ba66e741620b976ef806094533

See more details on using hashes here.

File details

Details for the file new_project-0.5.4-py3-none-any.whl.

File metadata

  • Download URL: new_project-0.5.4-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3

File hashes

Hashes for new_project-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d1057500615ed1455c24b3dfffd8b2e221265c0a6b37876716e313bb1f932a45
MD5 9a2a78ac0cc98cfb1315a9b6910a6756
BLAKE2b-256 e7d0aaf7a141431c79bdc17da44af2a11f48a674bb4ac6acae70bc3a3087c2a0

See more details on using hashes here.

Supported by

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