File: setup.py

package info (click to toggle)
python-rdflib-jsonld 0.4.0-4
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,384 kB
  • sloc: python: 1,478; makefile: 132
file content (121 lines) | stat: -rw-r--r-- 3,709 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import re

# Ridiculous as it may seem, we need to import multiprocessing and logging here
# in order to get tests to pass smoothly on python 2.7.
try:
    import multiprocessing
    import logging
except:
    pass


def setup_python3():
    # Taken from "distribute" setup.py
    from distutils.filelist import FileList
    from distutils import dir_util, file_util, util, log
    from os.path import join

    tmp_src = join("build", "src")
    # log.set_verbosity(1)
    fl = FileList()
    for line in open("MANIFEST.in"):
        if not line.strip():
            continue
        fl.process_template_line(line)
    dir_util.create_tree(tmp_src, fl.files)
    outfiles_2to3 = []
    for f in fl.files:
        outf, copied = file_util.copy_file(f, join(tmp_src, f), update=1)
        if copied and outf.endswith(".py"):
            outfiles_2to3.append(outf)

    util.run_2to3(outfiles_2to3)

    # arrange setup to use the copy
    sys.path.insert(0, tmp_src)

    return tmp_src


# Find version. We have to do this because we can't import it in Python 3 until
# its been automatically converted in the setup process.
def find_version(filename):
    _version_re = re.compile(r'__version__ = "(.*)"')
    for line in open(filename):
        version_match = _version_re.match(line)
        if version_match:
            return version_match.group(1)

__version__ = find_version('rdflib_jsonld/__init__.py')

install_requires = ["rdflib>=4.0", ] 

if sys.version_info[:2] < (2, 6):
    install_requires += ["simplejson"]

config = dict(
    name = 'rdflib-jsonld',
    description = "rdflib extension adding JSON-LD parser and serializer",
    maintainer = "RDFLib Team",
    maintainer_email = "http://groups.google.com/group/rdflib-dev",
    url = "https://github.com/RDFLib/rdflib-jsonld",
    version = __version__,
    download_url = "https://github.com/RDFLib/rdflib-jsonld/zipball/master",
    license = "BSD",
    platforms = ["any"],
    long_description = \
    """
    This parser/serialiser will

    * read in an JSON-LD formatted document and create an RDF graph
    * serialize an RDF graph to JSON-LD formatted output

    See:

        http://json-ld.org/
    """,
    classifiers = [
        "Programming Language :: Python",
        "Programming Language :: Python :: 2",
        "Programming Language :: Python :: 2.5",
        "Programming Language :: Python :: 2.6",
        "Programming Language :: Python :: 2.7",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.2",
        "Programming Language :: Python :: 3.3",
        "License :: OSI Approved :: BSD License",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Operating System :: OS Independent",
        "Natural Language :: English",
                   ],
    packages = ["rdflib_jsonld"],
    test_suite = "test",
    install_requires = ["rdflib>=4.1"],
    entry_points = {
        'rdf.plugins.parser': [
            'json-ld = rdflib_jsonld.parser:JsonLDParser',
            'application/ld+json = rdflib_jsonld.parser:JsonLDParser',
        ],
        'rdf.plugins.serializer': [
            'json-ld = rdflib_jsonld.serializer:JsonLDSerializer',
            'application/ld+json = rdflib_jsonld.serializer:JsonLDSerializer',
        ],
    }
)

if sys.version_info[0] >= 3:
    from setuptools import setup
    config.update({'use_2to3': True})
    config.update({'src_root': setup_python3()})
else:
    try:
        from setuptools import setup
        config.update({'test_suite' : "nose.collector"})
    except ImportError:
        from distutils.core import setup


setup(**config)