summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 16:49:36 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 16:49:36 +0000
commit81ac46fb0abf26b08d26e07edbca0349a581a7ea (patch)
treec1d8dce05a383d145590fcafebf84662e2f2d3f6
parentfb2b4977c85c850271deff5c5dffefeb6dff0fd5 (diff)
automatic import of python-pipenv-setup
-rw-r--r--.gitignore1
-rw-r--r--python-pipenv-setup.spec840
-rw-r--r--sources1
3 files changed, 842 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..5996e47 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pipenv-setup-3.2.0.tar.gz
diff --git a/python-pipenv-setup.spec b/python-pipenv-setup.spec
new file mode 100644
index 0000000..73b3047
--- /dev/null
+++ b/python-pipenv-setup.spec
@@ -0,0 +1,840 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pipenv-setup
+Version: 3.2.0
+Release: 1
+Summary: sync Pipfile/Pipfile.lock to setup.py
+License: MIT
+URL: https://github.com/Madoshakalaka/pipenv-setup
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/29/54/5756347bce0bd4067f884add5af48361ae56c7e17159c0b60ac1d31c52a7/pipenv-setup-3.2.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-pipfile
+Requires: python3-colorama
+Requires: python3-packaging
+Requires: python3-requirementslib
+Requires: python3-vistir
+Requires: python3-six
+Requires: python3-chardet
+Requires: python3-pyparsing
+Requires: python3-typing
+Requires: python3-autopep8
+Requires: python3-black
+Requires: python3-pytest-cov
+Requires: python3-pytest-datadir
+Requires: python3-pytest-xdist
+Requires: python3-tox
+Requires: python3-autopep8
+Requires: python3-types-six
+Requires: python3-pytest-mypy
+Requires: python3-black
+Requires: python3-pytest
+Requires: python3-pre-commit
+
+%description
+# Pipenv-Setup
+
+[![travis-badge](https://travis-ci.org/Madoshakalaka/pipenv-setup.svg?branch=master)](https://travis-ci.org/Madoshakalaka/pipenv-setup)
+[![ci](https://github.com/Madoshakalaka/pipenv-setup/actions/workflows/ci.yml/badge.svg)](https://github.com/Madoshakalaka/pipenv-setup/actions/workflows/ci.yml)
+[![PyPI pyversions](https://img.shields.io/pypi/pyversions/pipenv-setup.svg)](https://pypi.python.org/pypi/pipenv-setup/)
+[![codecov](https://codecov.io/gh/Madoshakalaka/pipenv-setup/branch/master/graph/badge.svg)](https://codecov.io/gh/Madoshakalaka/pipenv-setup)
+[![PyPI version](https://badge.fury.io/py/pipenv-setup.svg)](https://badge.fury.io/py/pipenv-setup)
+[![Very popular](https://img.shields.io/pypi/dm/pipenv-setup)](https://pypistats.org/packages/pipenv-setup)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+
+A beautiful python package development tool: sync dependencies in `Pipfile` or `Pipfile.lock` to `setup.py`.
+
+Never need again to change dependencies manually in `setup.py`, and enjoy the same
+dependency locking or semantic versioning.
+
+Or just check whether `setup.py` and `Pipfile` are consistent and sync dependency when
+necessary.
+
+## Installation
+
+Create a command line entry point `pipenv-setup`, and add `pipenv-setup` as a `dev`
+package in `Pipfile`:
+
+```bash
+pipenv install --dev pipenv-setup
+```
+
+Additionally, starting with the
+[`3.2.0`](https://github.com/Madoshakalaka/pipenv-setup/releases/tag/v3.2.0) release,
+[`black`](https://github.com/psf/black) and [`autopep8`](https://github.com/hhatto/autopep8) can be
+included as package extras:
+
+```bash
+pipenv install --dev "pipenv-setup[black]" # alternatively: pipenv-setup[autopep8]
+```
+
+### Note
+
+`pipenv-setup<3.2` includes pinned versions of `black` and `autopep8` as dependencies. However, most
+projects manage `black` requirements independently from `pipenv-setup`; accordingly, `black` is no
+longer a requirement of `pipenv-setup` after `3.2.0` (instead, include it as an extra as shown
+above).
+
+## Features
+
+### Beautiful pipenv flavored help
+
+`$ pipenv-setup`
+
+![help](https://raw.githubusercontent.com/Madoshakalaka/pipenv-setup/master/readme_assets/help.PNG)
+
+### Sync to `setup.py`
+
+- supports assorted package configuration. You can have a pipfile as ugly as you want:
+
+ ```Pipfile
+ [package]
+ requests = { extras = ['socks'] }
+ records = '>0.5.0'
+ django = { git = 'https://github.com/django/django.git', ref = '1.11.4', editable = true }
+ "e682b37" = {file = "https://github.com/divio/django-cms/archive/release/3.4.x.zip"}
+ "e1839a8" = {path = ".", editable = true}
+ pywinusb = { version = "*", os_name = "=='nt'", index="pypi"}
+ ```
+
+ `pipenv-setup` will still figure things out:
+
+ ```bash
+ $ pipenv-setup sync
+ package e1839a8 is local, omitted in setup.py
+ setup.py successfully updated
+ 23 packages from Pipfile.lock synced to setup.py
+ ```
+
+ And things will be where they should be:
+
+ ```python
+ # setup.py
+ setup(...,
+ install_requires=[
+ "certifi==2017.7.27.1",
+ "chardet==3.0.4",
+ "pywinusb==0.4.2; os_name == 'nt'",
+ ...,
+ "xlrd==1.1.0",
+ "xlwt==1.3.0",
+ ],
+ dependency_links=[
+ "git+https://github.com/django/django.git@1.11.4#egg=django",
+ "https://github.com/divio/django-cms/archive/release/3.4.x.zip",
+ ],
+ )
+ ```
+
+- provide `--dev` flag to sync development packages with `extras_require`:
+
+ ```bash
+ $ pipenv-setup sync --dev
+ setup.py successfully updated
+ 1 default packages from Pipfile.lock synced to setup.py
+ 1 dev packages from Pipfile.lock synced to setup.py
+ ```
+
+ ```python
+ # produced setup.py
+ setup(...,
+ extras_require={"dev": ["pytest==1.1.3",]},
+ install_requires=["xml-subsetter==0.0.1"],
+ )
+ ```
+
+- produce beautiful [Blackened](https://github.com/psf/black) `setup.py` file
+
+- [Template](https://github.com/pypa/sampleproject/blob/master/setup.py) generation with
+ filled dependencies in the absence of a setup file.
+
+ ```bash
+ $ pipenv-setup sync
+ setup.py not found under current directory
+ Creating boilerplate setup.py...
+ setup.py was successfully generated
+ 23 packages synced from Pipfile.lock to setup.py
+ Please edit the required fields in the generated file
+ ```
+
+ > Note: by default, `pipenv-setup` syncs lockfile instead of pipfile
+
+#### Sync `Pipfile` vs. `Pipfile.lock`
+
+Provide `--pipfile` flag to sync `Pipfile` instead of `Pipfile.lock`.
+
+`pipenv-setup`
+will perform a liquid sync using semantic versioning taken from `Pipfile` (instead of
+using frozen pinned versions from `Pipfile.lock`):
+
+```bash
+$ pipenv-setup sync --pipfile
+setup.py was successfully updated
+23 packages synced from Pipfile to setup.py
+```
+
+### Checks Only
+
+run `$ pipenv-setup check`
+
+- checks four items
+ - local package in default pipfile packages
+ - Package version requirements in `install_requires` in setup.py that potentially violates Pipfile
+ - Package version requirements in `dependency_links` in setup.py that differs from Pipfile
+ - Default package in pipfile missing in `install_requires` or `dependency_links` in setup.py
+- exits with non-zero code when conflict found (can be used in travis-ci)
+- here is a somewhat extreme example:
+
+ ```bash
+ $ pipenv-setup check
+ package 'numpy' has version string: >=1.2 in setup.py, which potentially violates >=1.5 in pipfile
+ package 'pywinusb' has version string: ==0.4.2 in setup.py, which is disjoint from ~=0.3.0 in pipfile
+ package 'records' has version string: >=0.4.2,<0.5 in setup.py, which is disjoint from >0.5.0 in pipfile
+ package 'django' has branch/version 1.11.5 in dependency_links, which is different than 1.11.4 listed in pipfile
+ package 'requests' in pipfile but not in install_requires
+ package 'e682b37' has a url in pipfile but not in dependency_links
+ (exits with 1)
+ ```
+
+- provide `--ignore-local` flag to allow local packages in pipfile
+
+ ```bash
+ $ pipenv-setup check
+ local package found in default dependency: e1839a8.
+ Do you mean to make it dev dependency
+ (exits with 1)
+ ```
+
+ ```bash
+ $ pipenv-setup check --ignore-local
+ No version conflict or missing packages/dependencies found in setup.py!
+ (exits with 0)
+ ```
+
+- provide `--strict` flag to only pass identical version requirements
+
+ By default `pipenv-setup check` passes when the version `setup.py` specifies is
+ "compatible" with `Pipfile`, i.e. is a subset of it. For example, a Pipfile
+ specifying `django~=1.1` with `setup.py` requiring `django==1.2` is such a case.
+
+ Provide `--strict` to allow only identical requirements; _i.e._ for `Pipfile`'s
+ `django~=1.1`, `setup.py` must require `django>=1.1,<2.0`
+
+ Example output:
+
+ ```bash
+ $ pipenv-setup check --strict
+ package 'pywinusb' has version string: ==0.4.2 in setup.py, which specifies a subset of * in pipfile
+ package 'django' has version string: >=0.5 in setup.py, which is disjoint from ~=0.3.0 in pipfile
+ package 'records' has version string: ==0.5.2 in setup.py, which specifies a subset of >0.5.0 in pipfile
+ package 'requests' has version string: ==2.18.4 in setup.py, which specifies a subset of * in pipfile
+ (exits with 1)
+ ```
+
+- provide `--lockfile` flag to check `setup.py` against `Pipfile.lock` instead of `Pipfile`
+
+ By default, `pipenv-setup check` compares the dependencies from `setup.py` against
+ the dependencies listed in `Pipfile`. This works well for most cases, but there
+ are some exceptions that break this strategy, including (but not necessarily limited to):
+
+ - VCS dependencies with a mutable `ref` (e.g. - git branch name instead of a tag or commit sha)
+ - Because these resolve to an immutable pointer (e.g. - commit sha) in `setup.py`, the
+ dependency will no longer match between `setup.py` and `Pipfile`. However, `Pipfile.lock`
+ will contain the same resolved pointer as `setup.py`.
+
+### Pre-commit integration
+
+You can run `pipenv-setup` automatically using a [pre-commit](https://pre-commit.com) hook. To get
+started, add this configuration to your `.pre-commit-config.yaml`:
+
+```yaml
+- repo: https://github.com/Madoshakalaka/pipenv-setup
+ rev: "3.2.0" # pick a git hash / tag to point to
+ hooks:
+ - id: pipenv-setup
+```
+
+This configuration will will execute `pipenv-setup sync --pipfile` on changes to `Pipfile`,
+`Pipfile.lock`, and `setup.py`.
+
+You can also customize the default args (`"--pipfile"`). For example, to synchronize `--dev` extras:
+
+```yaml
+- repo: # ...
+ hooks:
+ - id: pipenv-setup
+ args: [--dev, --pipfile]
+```
+
+If using the hook during CI (or in another environment separate from a `black` / `autopep8`
+installation), you can include the appropriate auto-formatter with the hook:
+
+```yaml
+- repo: # ...
+ hooks:
+ - id: pipenv-setup
+ additional_dependencies: [".[black]"]
+```
+
+## Contributing
+
+If you'd like to contribute to `pipenv-setup`, see [Contribution Guide](CONTRIBUTING.md)
+
+
+
+
+%package -n python3-pipenv-setup
+Summary: sync Pipfile/Pipfile.lock to setup.py
+Provides: python-pipenv-setup
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-pipenv-setup
+# Pipenv-Setup
+
+[![travis-badge](https://travis-ci.org/Madoshakalaka/pipenv-setup.svg?branch=master)](https://travis-ci.org/Madoshakalaka/pipenv-setup)
+[![ci](https://github.com/Madoshakalaka/pipenv-setup/actions/workflows/ci.yml/badge.svg)](https://github.com/Madoshakalaka/pipenv-setup/actions/workflows/ci.yml)
+[![PyPI pyversions](https://img.shields.io/pypi/pyversions/pipenv-setup.svg)](https://pypi.python.org/pypi/pipenv-setup/)
+[![codecov](https://codecov.io/gh/Madoshakalaka/pipenv-setup/branch/master/graph/badge.svg)](https://codecov.io/gh/Madoshakalaka/pipenv-setup)
+[![PyPI version](https://badge.fury.io/py/pipenv-setup.svg)](https://badge.fury.io/py/pipenv-setup)
+[![Very popular](https://img.shields.io/pypi/dm/pipenv-setup)](https://pypistats.org/packages/pipenv-setup)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+
+A beautiful python package development tool: sync dependencies in `Pipfile` or `Pipfile.lock` to `setup.py`.
+
+Never need again to change dependencies manually in `setup.py`, and enjoy the same
+dependency locking or semantic versioning.
+
+Or just check whether `setup.py` and `Pipfile` are consistent and sync dependency when
+necessary.
+
+## Installation
+
+Create a command line entry point `pipenv-setup`, and add `pipenv-setup` as a `dev`
+package in `Pipfile`:
+
+```bash
+pipenv install --dev pipenv-setup
+```
+
+Additionally, starting with the
+[`3.2.0`](https://github.com/Madoshakalaka/pipenv-setup/releases/tag/v3.2.0) release,
+[`black`](https://github.com/psf/black) and [`autopep8`](https://github.com/hhatto/autopep8) can be
+included as package extras:
+
+```bash
+pipenv install --dev "pipenv-setup[black]" # alternatively: pipenv-setup[autopep8]
+```
+
+### Note
+
+`pipenv-setup<3.2` includes pinned versions of `black` and `autopep8` as dependencies. However, most
+projects manage `black` requirements independently from `pipenv-setup`; accordingly, `black` is no
+longer a requirement of `pipenv-setup` after `3.2.0` (instead, include it as an extra as shown
+above).
+
+## Features
+
+### Beautiful pipenv flavored help
+
+`$ pipenv-setup`
+
+![help](https://raw.githubusercontent.com/Madoshakalaka/pipenv-setup/master/readme_assets/help.PNG)
+
+### Sync to `setup.py`
+
+- supports assorted package configuration. You can have a pipfile as ugly as you want:
+
+ ```Pipfile
+ [package]
+ requests = { extras = ['socks'] }
+ records = '>0.5.0'
+ django = { git = 'https://github.com/django/django.git', ref = '1.11.4', editable = true }
+ "e682b37" = {file = "https://github.com/divio/django-cms/archive/release/3.4.x.zip"}
+ "e1839a8" = {path = ".", editable = true}
+ pywinusb = { version = "*", os_name = "=='nt'", index="pypi"}
+ ```
+
+ `pipenv-setup` will still figure things out:
+
+ ```bash
+ $ pipenv-setup sync
+ package e1839a8 is local, omitted in setup.py
+ setup.py successfully updated
+ 23 packages from Pipfile.lock synced to setup.py
+ ```
+
+ And things will be where they should be:
+
+ ```python
+ # setup.py
+ setup(...,
+ install_requires=[
+ "certifi==2017.7.27.1",
+ "chardet==3.0.4",
+ "pywinusb==0.4.2; os_name == 'nt'",
+ ...,
+ "xlrd==1.1.0",
+ "xlwt==1.3.0",
+ ],
+ dependency_links=[
+ "git+https://github.com/django/django.git@1.11.4#egg=django",
+ "https://github.com/divio/django-cms/archive/release/3.4.x.zip",
+ ],
+ )
+ ```
+
+- provide `--dev` flag to sync development packages with `extras_require`:
+
+ ```bash
+ $ pipenv-setup sync --dev
+ setup.py successfully updated
+ 1 default packages from Pipfile.lock synced to setup.py
+ 1 dev packages from Pipfile.lock synced to setup.py
+ ```
+
+ ```python
+ # produced setup.py
+ setup(...,
+ extras_require={"dev": ["pytest==1.1.3",]},
+ install_requires=["xml-subsetter==0.0.1"],
+ )
+ ```
+
+- produce beautiful [Blackened](https://github.com/psf/black) `setup.py` file
+
+- [Template](https://github.com/pypa/sampleproject/blob/master/setup.py) generation with
+ filled dependencies in the absence of a setup file.
+
+ ```bash
+ $ pipenv-setup sync
+ setup.py not found under current directory
+ Creating boilerplate setup.py...
+ setup.py was successfully generated
+ 23 packages synced from Pipfile.lock to setup.py
+ Please edit the required fields in the generated file
+ ```
+
+ > Note: by default, `pipenv-setup` syncs lockfile instead of pipfile
+
+#### Sync `Pipfile` vs. `Pipfile.lock`
+
+Provide `--pipfile` flag to sync `Pipfile` instead of `Pipfile.lock`.
+
+`pipenv-setup`
+will perform a liquid sync using semantic versioning taken from `Pipfile` (instead of
+using frozen pinned versions from `Pipfile.lock`):
+
+```bash
+$ pipenv-setup sync --pipfile
+setup.py was successfully updated
+23 packages synced from Pipfile to setup.py
+```
+
+### Checks Only
+
+run `$ pipenv-setup check`
+
+- checks four items
+ - local package in default pipfile packages
+ - Package version requirements in `install_requires` in setup.py that potentially violates Pipfile
+ - Package version requirements in `dependency_links` in setup.py that differs from Pipfile
+ - Default package in pipfile missing in `install_requires` or `dependency_links` in setup.py
+- exits with non-zero code when conflict found (can be used in travis-ci)
+- here is a somewhat extreme example:
+
+ ```bash
+ $ pipenv-setup check
+ package 'numpy' has version string: >=1.2 in setup.py, which potentially violates >=1.5 in pipfile
+ package 'pywinusb' has version string: ==0.4.2 in setup.py, which is disjoint from ~=0.3.0 in pipfile
+ package 'records' has version string: >=0.4.2,<0.5 in setup.py, which is disjoint from >0.5.0 in pipfile
+ package 'django' has branch/version 1.11.5 in dependency_links, which is different than 1.11.4 listed in pipfile
+ package 'requests' in pipfile but not in install_requires
+ package 'e682b37' has a url in pipfile but not in dependency_links
+ (exits with 1)
+ ```
+
+- provide `--ignore-local` flag to allow local packages in pipfile
+
+ ```bash
+ $ pipenv-setup check
+ local package found in default dependency: e1839a8.
+ Do you mean to make it dev dependency
+ (exits with 1)
+ ```
+
+ ```bash
+ $ pipenv-setup check --ignore-local
+ No version conflict or missing packages/dependencies found in setup.py!
+ (exits with 0)
+ ```
+
+- provide `--strict` flag to only pass identical version requirements
+
+ By default `pipenv-setup check` passes when the version `setup.py` specifies is
+ "compatible" with `Pipfile`, i.e. is a subset of it. For example, a Pipfile
+ specifying `django~=1.1` with `setup.py` requiring `django==1.2` is such a case.
+
+ Provide `--strict` to allow only identical requirements; _i.e._ for `Pipfile`'s
+ `django~=1.1`, `setup.py` must require `django>=1.1,<2.0`
+
+ Example output:
+
+ ```bash
+ $ pipenv-setup check --strict
+ package 'pywinusb' has version string: ==0.4.2 in setup.py, which specifies a subset of * in pipfile
+ package 'django' has version string: >=0.5 in setup.py, which is disjoint from ~=0.3.0 in pipfile
+ package 'records' has version string: ==0.5.2 in setup.py, which specifies a subset of >0.5.0 in pipfile
+ package 'requests' has version string: ==2.18.4 in setup.py, which specifies a subset of * in pipfile
+ (exits with 1)
+ ```
+
+- provide `--lockfile` flag to check `setup.py` against `Pipfile.lock` instead of `Pipfile`
+
+ By default, `pipenv-setup check` compares the dependencies from `setup.py` against
+ the dependencies listed in `Pipfile`. This works well for most cases, but there
+ are some exceptions that break this strategy, including (but not necessarily limited to):
+
+ - VCS dependencies with a mutable `ref` (e.g. - git branch name instead of a tag or commit sha)
+ - Because these resolve to an immutable pointer (e.g. - commit sha) in `setup.py`, the
+ dependency will no longer match between `setup.py` and `Pipfile`. However, `Pipfile.lock`
+ will contain the same resolved pointer as `setup.py`.
+
+### Pre-commit integration
+
+You can run `pipenv-setup` automatically using a [pre-commit](https://pre-commit.com) hook. To get
+started, add this configuration to your `.pre-commit-config.yaml`:
+
+```yaml
+- repo: https://github.com/Madoshakalaka/pipenv-setup
+ rev: "3.2.0" # pick a git hash / tag to point to
+ hooks:
+ - id: pipenv-setup
+```
+
+This configuration will will execute `pipenv-setup sync --pipfile` on changes to `Pipfile`,
+`Pipfile.lock`, and `setup.py`.
+
+You can also customize the default args (`"--pipfile"`). For example, to synchronize `--dev` extras:
+
+```yaml
+- repo: # ...
+ hooks:
+ - id: pipenv-setup
+ args: [--dev, --pipfile]
+```
+
+If using the hook during CI (or in another environment separate from a `black` / `autopep8`
+installation), you can include the appropriate auto-formatter with the hook:
+
+```yaml
+- repo: # ...
+ hooks:
+ - id: pipenv-setup
+ additional_dependencies: [".[black]"]
+```
+
+## Contributing
+
+If you'd like to contribute to `pipenv-setup`, see [Contribution Guide](CONTRIBUTING.md)
+
+
+
+
+%package help
+Summary: Development documents and examples for pipenv-setup
+Provides: python3-pipenv-setup-doc
+%description help
+# Pipenv-Setup
+
+[![travis-badge](https://travis-ci.org/Madoshakalaka/pipenv-setup.svg?branch=master)](https://travis-ci.org/Madoshakalaka/pipenv-setup)
+[![ci](https://github.com/Madoshakalaka/pipenv-setup/actions/workflows/ci.yml/badge.svg)](https://github.com/Madoshakalaka/pipenv-setup/actions/workflows/ci.yml)
+[![PyPI pyversions](https://img.shields.io/pypi/pyversions/pipenv-setup.svg)](https://pypi.python.org/pypi/pipenv-setup/)
+[![codecov](https://codecov.io/gh/Madoshakalaka/pipenv-setup/branch/master/graph/badge.svg)](https://codecov.io/gh/Madoshakalaka/pipenv-setup)
+[![PyPI version](https://badge.fury.io/py/pipenv-setup.svg)](https://badge.fury.io/py/pipenv-setup)
+[![Very popular](https://img.shields.io/pypi/dm/pipenv-setup)](https://pypistats.org/packages/pipenv-setup)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+
+A beautiful python package development tool: sync dependencies in `Pipfile` or `Pipfile.lock` to `setup.py`.
+
+Never need again to change dependencies manually in `setup.py`, and enjoy the same
+dependency locking or semantic versioning.
+
+Or just check whether `setup.py` and `Pipfile` are consistent and sync dependency when
+necessary.
+
+## Installation
+
+Create a command line entry point `pipenv-setup`, and add `pipenv-setup` as a `dev`
+package in `Pipfile`:
+
+```bash
+pipenv install --dev pipenv-setup
+```
+
+Additionally, starting with the
+[`3.2.0`](https://github.com/Madoshakalaka/pipenv-setup/releases/tag/v3.2.0) release,
+[`black`](https://github.com/psf/black) and [`autopep8`](https://github.com/hhatto/autopep8) can be
+included as package extras:
+
+```bash
+pipenv install --dev "pipenv-setup[black]" # alternatively: pipenv-setup[autopep8]
+```
+
+### Note
+
+`pipenv-setup<3.2` includes pinned versions of `black` and `autopep8` as dependencies. However, most
+projects manage `black` requirements independently from `pipenv-setup`; accordingly, `black` is no
+longer a requirement of `pipenv-setup` after `3.2.0` (instead, include it as an extra as shown
+above).
+
+## Features
+
+### Beautiful pipenv flavored help
+
+`$ pipenv-setup`
+
+![help](https://raw.githubusercontent.com/Madoshakalaka/pipenv-setup/master/readme_assets/help.PNG)
+
+### Sync to `setup.py`
+
+- supports assorted package configuration. You can have a pipfile as ugly as you want:
+
+ ```Pipfile
+ [package]
+ requests = { extras = ['socks'] }
+ records = '>0.5.0'
+ django = { git = 'https://github.com/django/django.git', ref = '1.11.4', editable = true }
+ "e682b37" = {file = "https://github.com/divio/django-cms/archive/release/3.4.x.zip"}
+ "e1839a8" = {path = ".", editable = true}
+ pywinusb = { version = "*", os_name = "=='nt'", index="pypi"}
+ ```
+
+ `pipenv-setup` will still figure things out:
+
+ ```bash
+ $ pipenv-setup sync
+ package e1839a8 is local, omitted in setup.py
+ setup.py successfully updated
+ 23 packages from Pipfile.lock synced to setup.py
+ ```
+
+ And things will be where they should be:
+
+ ```python
+ # setup.py
+ setup(...,
+ install_requires=[
+ "certifi==2017.7.27.1",
+ "chardet==3.0.4",
+ "pywinusb==0.4.2; os_name == 'nt'",
+ ...,
+ "xlrd==1.1.0",
+ "xlwt==1.3.0",
+ ],
+ dependency_links=[
+ "git+https://github.com/django/django.git@1.11.4#egg=django",
+ "https://github.com/divio/django-cms/archive/release/3.4.x.zip",
+ ],
+ )
+ ```
+
+- provide `--dev` flag to sync development packages with `extras_require`:
+
+ ```bash
+ $ pipenv-setup sync --dev
+ setup.py successfully updated
+ 1 default packages from Pipfile.lock synced to setup.py
+ 1 dev packages from Pipfile.lock synced to setup.py
+ ```
+
+ ```python
+ # produced setup.py
+ setup(...,
+ extras_require={"dev": ["pytest==1.1.3",]},
+ install_requires=["xml-subsetter==0.0.1"],
+ )
+ ```
+
+- produce beautiful [Blackened](https://github.com/psf/black) `setup.py` file
+
+- [Template](https://github.com/pypa/sampleproject/blob/master/setup.py) generation with
+ filled dependencies in the absence of a setup file.
+
+ ```bash
+ $ pipenv-setup sync
+ setup.py not found under current directory
+ Creating boilerplate setup.py...
+ setup.py was successfully generated
+ 23 packages synced from Pipfile.lock to setup.py
+ Please edit the required fields in the generated file
+ ```
+
+ > Note: by default, `pipenv-setup` syncs lockfile instead of pipfile
+
+#### Sync `Pipfile` vs. `Pipfile.lock`
+
+Provide `--pipfile` flag to sync `Pipfile` instead of `Pipfile.lock`.
+
+`pipenv-setup`
+will perform a liquid sync using semantic versioning taken from `Pipfile` (instead of
+using frozen pinned versions from `Pipfile.lock`):
+
+```bash
+$ pipenv-setup sync --pipfile
+setup.py was successfully updated
+23 packages synced from Pipfile to setup.py
+```
+
+### Checks Only
+
+run `$ pipenv-setup check`
+
+- checks four items
+ - local package in default pipfile packages
+ - Package version requirements in `install_requires` in setup.py that potentially violates Pipfile
+ - Package version requirements in `dependency_links` in setup.py that differs from Pipfile
+ - Default package in pipfile missing in `install_requires` or `dependency_links` in setup.py
+- exits with non-zero code when conflict found (can be used in travis-ci)
+- here is a somewhat extreme example:
+
+ ```bash
+ $ pipenv-setup check
+ package 'numpy' has version string: >=1.2 in setup.py, which potentially violates >=1.5 in pipfile
+ package 'pywinusb' has version string: ==0.4.2 in setup.py, which is disjoint from ~=0.3.0 in pipfile
+ package 'records' has version string: >=0.4.2,<0.5 in setup.py, which is disjoint from >0.5.0 in pipfile
+ package 'django' has branch/version 1.11.5 in dependency_links, which is different than 1.11.4 listed in pipfile
+ package 'requests' in pipfile but not in install_requires
+ package 'e682b37' has a url in pipfile but not in dependency_links
+ (exits with 1)
+ ```
+
+- provide `--ignore-local` flag to allow local packages in pipfile
+
+ ```bash
+ $ pipenv-setup check
+ local package found in default dependency: e1839a8.
+ Do you mean to make it dev dependency
+ (exits with 1)
+ ```
+
+ ```bash
+ $ pipenv-setup check --ignore-local
+ No version conflict or missing packages/dependencies found in setup.py!
+ (exits with 0)
+ ```
+
+- provide `--strict` flag to only pass identical version requirements
+
+ By default `pipenv-setup check` passes when the version `setup.py` specifies is
+ "compatible" with `Pipfile`, i.e. is a subset of it. For example, a Pipfile
+ specifying `django~=1.1` with `setup.py` requiring `django==1.2` is such a case.
+
+ Provide `--strict` to allow only identical requirements; _i.e._ for `Pipfile`'s
+ `django~=1.1`, `setup.py` must require `django>=1.1,<2.0`
+
+ Example output:
+
+ ```bash
+ $ pipenv-setup check --strict
+ package 'pywinusb' has version string: ==0.4.2 in setup.py, which specifies a subset of * in pipfile
+ package 'django' has version string: >=0.5 in setup.py, which is disjoint from ~=0.3.0 in pipfile
+ package 'records' has version string: ==0.5.2 in setup.py, which specifies a subset of >0.5.0 in pipfile
+ package 'requests' has version string: ==2.18.4 in setup.py, which specifies a subset of * in pipfile
+ (exits with 1)
+ ```
+
+- provide `--lockfile` flag to check `setup.py` against `Pipfile.lock` instead of `Pipfile`
+
+ By default, `pipenv-setup check` compares the dependencies from `setup.py` against
+ the dependencies listed in `Pipfile`. This works well for most cases, but there
+ are some exceptions that break this strategy, including (but not necessarily limited to):
+
+ - VCS dependencies with a mutable `ref` (e.g. - git branch name instead of a tag or commit sha)
+ - Because these resolve to an immutable pointer (e.g. - commit sha) in `setup.py`, the
+ dependency will no longer match between `setup.py` and `Pipfile`. However, `Pipfile.lock`
+ will contain the same resolved pointer as `setup.py`.
+
+### Pre-commit integration
+
+You can run `pipenv-setup` automatically using a [pre-commit](https://pre-commit.com) hook. To get
+started, add this configuration to your `.pre-commit-config.yaml`:
+
+```yaml
+- repo: https://github.com/Madoshakalaka/pipenv-setup
+ rev: "3.2.0" # pick a git hash / tag to point to
+ hooks:
+ - id: pipenv-setup
+```
+
+This configuration will will execute `pipenv-setup sync --pipfile` on changes to `Pipfile`,
+`Pipfile.lock`, and `setup.py`.
+
+You can also customize the default args (`"--pipfile"`). For example, to synchronize `--dev` extras:
+
+```yaml
+- repo: # ...
+ hooks:
+ - id: pipenv-setup
+ args: [--dev, --pipfile]
+```
+
+If using the hook during CI (or in another environment separate from a `black` / `autopep8`
+installation), you can include the appropriate auto-formatter with the hook:
+
+```yaml
+- repo: # ...
+ hooks:
+ - id: pipenv-setup
+ additional_dependencies: [".[black]"]
+```
+
+## Contributing
+
+If you'd like to contribute to `pipenv-setup`, see [Contribution Guide](CONTRIBUTING.md)
+
+
+
+
+%prep
+%autosetup -n pipenv-setup-3.2.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-pipenv-setup -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 3.2.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..8740f3c
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+6e064cb7d09642c9e7ce4643e5abc21f pipenv-setup-3.2.0.tar.gz