Skip to content
Snippets Groups Projects
Select Git revision
  • fe3a875dfb1eb236de6941945ec1fe4c6471df98
  • master default protected
  • Vivakvo/cesium-patch-8
  • issue_4
  • issue_780
  • gitlab_migration_1
  • dev
  • rml8
  • v1.4.3
  • v1.4.1
  • v1.4.0
  • v1.3.11
  • v1.3.10
  • v1.3.9
  • v1.3.8
  • v1.3.7
  • v1.3.6
  • v1.3.5
  • v1.3.4
  • v1.3.3
  • v1.3.2
  • v1.3.1
  • v1.3.0
  • v1.2.10
  • v1.2.9
  • v1.2.8
  • v1.2.7
  • v1.2.6
28 results

development_guide.md

Blame
  • Forked from clients / Cesium-grp / Cesium
    Source project has a limited visibility.
    setup.py 2.39 KiB
    from setuptools import setup
    import duniterpy
    import os
    import re
    
    
    def which(program):
        """
        Detect whether or not a program is installed.
        Thanks to http://stackoverflow.com/a/377028/70191
        """
        def is_exe(fpath):
            return os.path.exists(fpath) and os.access(fpath, os.X_OK)
    
        fpath, _ = os.path.split(program)
        if fpath:
            if is_exe(program):
                return program
        else:
            for path in os.environ['PATH'].split(os.pathsep):
                exe_file = os.path.join(path, program)
                if is_exe(exe_file):
                    return exe_file
    
        return None
    
    
    EDITABLE_REQUIREMENT = re.compile(
        r'^-e (?P<link>(?P<vcs>git|svn|hg|bzr).+#egg=(?P<package>.+)-(?P<version>\d(?:\.\d)*))$'
    )
    
    install_requires = []
    dependency_links = []
    
    for requirement in (l.strip() for l in open('requirements.txt')):
        match = EDITABLE_REQUIREMENT.match(requirement)
        if match:
            assert which(match.group('vcs')) is not None, \
                "VCS '%(vcs)s' must be installed in order to install %(link)s" % match.groupdict()
            install_requires.append("%(package)s==%(version)s" % match.groupdict())
            dependency_links.append(match.group('link'))
        else:
            install_requires.append(requirement)
    
    setup(
        name='duniterpy',
    
        version=duniterpy.__version__,
    
        packages=['duniterpy'],
    
        package_data={"duniterpy": ["py.typed"]},
    
        author="inso, canercanda, s_b, vit, Moul",
    
        author_email="insomniak.fr@gmail.com",
    
        description="A python library for [duniter](https://git.duniter.org/nodes/typescript/duniter) client developers",
    
        long_description=open('README.rst').read(),
    
        # Active la prise en compte du fichier MANIFEST.in
        include_package_data=True,
        url='https://git.duniter.org/clients/python/duniterpy',
        test_suite="tests",
    
        classifiers=[
            "Development Status :: 5 - Production/Stable",
            "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
            "Natural Language :: English",
            "Operating System :: OS Independent",
            "Programming Language :: Python :: 3 :: Only",
            "Programming Language :: Python :: 3.7",
            "Programming Language :: Python :: 3.6",
            "Programming Language :: Python :: 3.5",
            "Topic :: Software Development :: Libraries",
            "Intended Audience :: Developers",
        ],
        install_requires=install_requires,
        dependency_links=dependency_links
    
    )