A purposefully uninstallable package.
Project description
# `uninstallable`: The Uninstallable Python Wheel!
_If you got here from one of the following errors, the package you tried to
install is not intended for the platform you tried to install it on. Good day!_
```
$ pip install --user ...
...
Collecting uninstallable>0; platform_system == "..." (from ...)
Downloading ...
Collecting pywin32>=1.0; platform_system == "Linux" (from uninstallable>0; platform_system == "..."->...)
Could not find a version that satisfies the requirement pywin32>=1.0; platform_system == "Linux" (from uninstallable>0; platform_system == "Linux"->...) (from versions: )
No matching distribution found for pywin32>=1.0; platform_system == "Linux" (from uninstallable>0; platform_system == "Linux"->...)
```
```
$ pip install --user ...
...
Collecting uninstallable>0; platform_system != "..." (from ...)
Could not find a version that satisfies the requirement uninstallable>0; platform_system != "..." (from ...) (from versions: )
No matching distribution found for uninstallable>0; platform_system != "..." (from ...)
```
## Why?????????
The purpose of this package is to get around a limitation of the Python Wheel
specification. It exists to prevent the successful installation of pure Python
Wheels on platforms not compatible with one's package.
## How?
PyPI doesn't allow uploading Python Wheels with unrecognized platform types, so
to force a conflict:
* We build only for the `manylinux1_x86_64` platform
* We have `setup.py` `install_requires=` a Linux-incompatible package when the
platform is Linux
This results in either a failure to locate an applicable `uninstallable`
package file, or a realization that the package has a dependency that cannot be
installed.
## Building
```bash
python setup.py bdist_wheel -p manylinux1_x86_64
```
## Usage
```python
from setuptools import setup
setup(
name='...',
version='1.0.0',
description='...',
long_description=open('README.md').read(),
long_description_content_type='text/markdown',
author='...',
author_email='...',
url='...',
license='...',
python_requires='...',
install_requires=[
...
'uninstallable > 0;platform_system!="Linux"',
],
...
```
## Features
* None!
_If you got here from one of the following errors, the package you tried to
install is not intended for the platform you tried to install it on. Good day!_
```
$ pip install --user ...
...
Collecting uninstallable>0; platform_system == "..." (from ...)
Downloading ...
Collecting pywin32>=1.0; platform_system == "Linux" (from uninstallable>0; platform_system == "..."->...)
Could not find a version that satisfies the requirement pywin32>=1.0; platform_system == "Linux" (from uninstallable>0; platform_system == "Linux"->...) (from versions: )
No matching distribution found for pywin32>=1.0; platform_system == "Linux" (from uninstallable>0; platform_system == "Linux"->...)
```
```
$ pip install --user ...
...
Collecting uninstallable>0; platform_system != "..." (from ...)
Could not find a version that satisfies the requirement uninstallable>0; platform_system != "..." (from ...) (from versions: )
No matching distribution found for uninstallable>0; platform_system != "..." (from ...)
```
## Why?????????
The purpose of this package is to get around a limitation of the Python Wheel
specification. It exists to prevent the successful installation of pure Python
Wheels on platforms not compatible with one's package.
## How?
PyPI doesn't allow uploading Python Wheels with unrecognized platform types, so
to force a conflict:
* We build only for the `manylinux1_x86_64` platform
* We have `setup.py` `install_requires=` a Linux-incompatible package when the
platform is Linux
This results in either a failure to locate an applicable `uninstallable`
package file, or a realization that the package has a dependency that cannot be
installed.
## Building
```bash
python setup.py bdist_wheel -p manylinux1_x86_64
```
## Usage
```python
from setuptools import setup
setup(
name='...',
version='1.0.0',
description='...',
long_description=open('README.md').read(),
long_description_content_type='text/markdown',
author='...',
author_email='...',
url='...',
license='...',
python_requires='...',
install_requires=[
...
'uninstallable > 0;platform_system!="Linux"',
],
...
```
## Features
* None!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for uninstallable-0.9.3-py2.py3-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9191b62e9a0af07dfacf3e3ef40ba0de904f37bc6f87e901e509679d3b95709f |
|
MD5 | af3eeb62a14ed9308dd399eea006f292 |
|
BLAKE2b-256 | 6570d9fa6117601d51936d3b611ada33387752cd2dc2f8302b1676e69739c1d5 |