Preparing to publish (#2)
* wip: reformatting for pypi * wip: missing setup fields, meta * wip: fix classifiers
This commit is contained in:
parent
02a7b2d5d8
commit
a0a2db7c32
4 changed files with 49 additions and 6 deletions
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
Keep your repositories up-to-date with their templates in a few keystrokes.
|
Keep your repositories up-to-date with their templates in a few keystrokes.
|
||||||
|
|
||||||
## :question: Why `carboncopy`?
|
## ❓ Why `carboncopy`?
|
||||||
|
|
||||||
[Github Template Repositories](https://github.blog/2019-06-06-generate-new-repositories-with-repository-templates/) made it really easy to skip project boilerplate setup steps and to produce "new project kits" that ensure that all your (or your organization's) new projects have all the must-haves. Problem is, templates aren't set in stone and it's likely that templates get updated after some projects have been spawned from it.
|
[Github Template Repositories](https://github.blog/2019-06-06-generate-new-repositories-with-repository-templates/) made it really easy to skip project boilerplate setup steps and to produce "new project kits" that ensure that all your (or your organization's) new projects have all the must-haves. Problem is, templates aren't set in stone and it's likely that templates get updated after some projects have been spawned from it.
|
||||||
|
|
||||||
|
@ -10,14 +10,14 @@ Because template repositories are different than forks, you can't simply rebase
|
||||||
|
|
||||||
With `carboncopy`, you are one command away from pulling in the latest changes from your template repositories as if it were a regular base branch. You can configure it via its RC file to ignore certain files from the template, and more!
|
With `carboncopy`, you are one command away from pulling in the latest changes from your template repositories as if it were a regular base branch. You can configure it via its RC file to ignore certain files from the template, and more!
|
||||||
|
|
||||||
## :package: Installation
|
## 📦 Installation
|
||||||
|
|
||||||
As it is not yet published on `PyPi`, you can simply clone this repository and use `pip install <path>` to install it in your local environment.
|
As it is not yet published on `PyPi`, you can simply clone this repository and use `pip install <path>` to install it in your local environment.
|
||||||
|
|
||||||
## :hammer: Usage
|
## 🔨 Usage
|
||||||
|
|
||||||
From your repository, simply type `carboncopy` in your terminal to bring up a prompt asking you what to pull from your template repository. __Any change made is left as an unstaged change so you can commit and merge it however you want.__
|
From your repository, simply type `carboncopy` in your terminal to bring up a prompt asking you what to pull from your template repository. __Any change made is left as an unstaged change so you can commit and merge it however you want.__
|
||||||
|
|
||||||
## :wrench: Configuration
|
## ⚙ Configuration
|
||||||
|
|
||||||
You can configure the way `carboncopy` handles your template's contents by creating a `.carboncopyrc` file at the root of your repository. Documentation TBD. See `src/carboncopy/config_defaults.py` for general layout.
|
You can configure the way `carboncopy` handles your template's contents by creating a `.carboncopyrc` file at the root of your repository. Documentation TBD. See `src/carboncopy/config_defaults.py` for general layout.
|
||||||
|
|
|
@ -1,32 +1,47 @@
|
||||||
appdirs==1.4.3
|
appdirs==1.4.3
|
||||||
attrs==19.3.0
|
attrs==19.3.0
|
||||||
black==19.10b0
|
black==19.10b0
|
||||||
|
bleach==3.1.0
|
||||||
blessings==1.7
|
blessings==1.7
|
||||||
certifi==2019.11.28
|
certifi==2019.11.28
|
||||||
|
cffi==1.13.2
|
||||||
chardet==3.0.4
|
chardet==3.0.4
|
||||||
Click==7.0
|
Click==7.0
|
||||||
|
cryptography==2.8
|
||||||
|
docutils==0.15.2
|
||||||
idna==2.8
|
idna==2.8
|
||||||
importlib-metadata==1.3.0
|
importlib-metadata==1.3.0
|
||||||
inquirer==2.6.3
|
inquirer==2.6.3
|
||||||
invoke==1.4.0
|
invoke==1.4.0
|
||||||
|
jeepney==0.4.2
|
||||||
|
keyring==21.0.0
|
||||||
more-itertools==8.0.2
|
more-itertools==8.0.2
|
||||||
mypy==0.761
|
mypy==0.761
|
||||||
mypy-extensions==0.4.3
|
mypy-extensions==0.4.3
|
||||||
packaging==19.2
|
packaging==19.2
|
||||||
pathspec==0.7.0
|
pathspec==0.7.0
|
||||||
|
pkginfo==1.5.0.1
|
||||||
pluggy==0.13.1
|
pluggy==0.13.1
|
||||||
py==1.8.1
|
py==1.8.1
|
||||||
|
pycparser==2.19
|
||||||
|
Pygments==2.5.2
|
||||||
pyparsing==2.4.6
|
pyparsing==2.4.6
|
||||||
pytest==5.3.2
|
pytest==5.3.2
|
||||||
python-editor==1.0.4
|
python-editor==1.0.4
|
||||||
readchar==2.0.1
|
readchar==2.0.1
|
||||||
|
readme-renderer==24.0
|
||||||
regex==2019.12.20
|
regex==2019.12.20
|
||||||
requests==2.22.0
|
requests==2.22.0
|
||||||
|
requests-toolbelt==0.9.1
|
||||||
|
SecretStorage==3.1.1
|
||||||
six==1.13.0
|
six==1.13.0
|
||||||
syrupy==0.0.12
|
syrupy==0.0.12
|
||||||
toml==0.10.0
|
toml==0.10.0
|
||||||
|
tqdm==4.41.1
|
||||||
|
twine==3.1.1
|
||||||
typed-ast==1.4.0
|
typed-ast==1.4.0
|
||||||
typing-extensions==3.7.4.1
|
typing-extensions==3.7.4.1
|
||||||
urllib3==1.25.7
|
urllib3==1.25.7
|
||||||
wcwidth==0.1.8
|
wcwidth==0.1.8
|
||||||
|
webencodings==0.5.1
|
||||||
zipp==0.6.0
|
zipp==0.6.0
|
||||||
|
|
15
setup.py
15
setup.py
|
@ -7,13 +7,24 @@ setuptools.setup(
|
||||||
entry_points={"console_scripts": ["carboncopy = src.carboncopy.main:run"]},
|
entry_points={"console_scripts": ["carboncopy = src.carboncopy.main:run"]},
|
||||||
name="carboncopy",
|
name="carboncopy",
|
||||||
version="0.0.1",
|
version="0.0.1",
|
||||||
|
license="MIT",
|
||||||
author="Marc Cataford",
|
author="Marc Cataford",
|
||||||
author_email="c.marcandre@gmail.com",
|
author_email="c.marcandre@gmail.com",
|
||||||
description="A small CLI utility to keep your repositories up-to-date with their templates",
|
description="A small CLI utility to keep your repositories up-to-date with their templates",
|
||||||
long_description=long_description,
|
long_description=long_description,
|
||||||
url="",
|
long_description_content_type="text/markdown",
|
||||||
|
url="https://pypi.org/project/carboncopy/",
|
||||||
packages=setuptools.find_packages(),
|
packages=setuptools.find_packages(),
|
||||||
classifiers=[],
|
classifiers=[
|
||||||
|
"Development Status :: 3 - Alpha",
|
||||||
|
"Environment :: Console",
|
||||||
|
"License :: OSI Approved :: MIT License",
|
||||||
|
"Topic :: Software Development :: Version Control :: Git",
|
||||||
|
],
|
||||||
install_requires=["requests>=2.22.0", "inquirer==2.6.3"],
|
install_requires=["requests>=2.22.0", "inquirer==2.6.3"],
|
||||||
python_requires=">=3.6",
|
python_requires=">=3.6",
|
||||||
|
project_urls={
|
||||||
|
"Source": "https://github.com/mcataford/carboncopy",
|
||||||
|
"Bug Reports": "https://github.com/mcataford/carboncopy/issues",
|
||||||
|
},
|
||||||
)
|
)
|
||||||
|
|
17
tasks.py
17
tasks.py
|
@ -11,6 +11,23 @@ def typecheck(ctx):
|
||||||
ctx.run("mypy src")
|
ctx.run("mypy src")
|
||||||
|
|
||||||
|
|
||||||
|
@task
|
||||||
|
def package(ctx):
|
||||||
|
ctx.run("rm -rf dist && python setup.py sdist bdist_wheel")
|
||||||
|
|
||||||
|
|
||||||
|
@task(optional=["test"])
|
||||||
|
def publish(ctx, test=False):
|
||||||
|
if test:
|
||||||
|
ctx.run(
|
||||||
|
"twine upload --verbose --repository-url https://test.pypi.org/legacy/ dist/*"
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
ctx.run("twine upload dist/*")
|
||||||
|
|
||||||
|
|
||||||
ns = Collection()
|
ns = Collection()
|
||||||
ns.add_task(format_all, name="format")
|
ns.add_task(format_all, name="format")
|
||||||
ns.add_task(typecheck)
|
ns.add_task(typecheck)
|
||||||
|
ns.add_task(package)
|
||||||
|
ns.add_task(publish)
|
||||||
|
|
Reference in a new issue