RussBaz / enforce

Python 3.5+ runtime type checking for integration testing and data validation
543 stars 21 forks source link

It's impossible to install v 0.3.5 (`dev` branch) #60

Closed danie1k closed 4 months ago

danie1k commented 6 years ago

It's caused by import pypandoc in setup.py. It's external dependency, and to install enforce user must firstly manually install pypandoc and it's dependencies (which are huge, by the way), because pip install git+https://github.com/RussBaz/enforce.git@dev won't run.

Do you really need that? It looks like not really. Goal which you want to achieve may be done better way.

from setuptools import setup
from pathlib import Path

import pypandoc

ROOT = Path('.')
README_PATH = ROOT / 'README.md'

with README_PATH.open(encoding='utf-8') as f:
    LONG_DESCRIPTION = pypandoc.convert_text(f.read(), 'rst', format='md')

setup(
    name='enforce',

    version='0.3.5',

    description='Python 3.5+ library for integration testing and data validation through configurable and optional runtime type hint enforcement.',
    long_description=LONG_DESCRIPTION,
   ...
RussBaz commented 6 years ago

Listen, this is technically a build dependency only. It is only used to convert markdown to restructured before building a wheel.

If I misunderstand the wheel building, please point me to the docs where it says otherwise. It will be greatly appreciated.

I must say that yes, I need to change the readme as this will not work without cloning the entire project repository first and then installing requirements.txt. Before running pip install -e . from the root folder.

Anyway, I am sorry but I am just not having enough time recently.