Show More
@@ -20,7 +20,7 b' jobs:' | |||
|
20 | 20 | python-version: "3.10" |
|
21 | 21 | cache: pip |
|
22 | 22 | cache-dependency-path: | |
|
23 |
|
|
|
23 | pyproject.toml | |
|
24 | 24 | - name: Try building with Python build |
|
25 | 25 | if: runner.os != 'Windows' # setup.py does not support sdist on Windows |
|
26 | 26 | run: | |
@@ -56,7 +56,7 b' jobs:' | |||
|
56 | 56 | python-version: ${{ matrix.python-version }} |
|
57 | 57 | cache: pip |
|
58 | 58 | cache-dependency-path: | |
|
59 |
|
|
|
59 | pyproject.toml | |
|
60 | 60 | - name: Install latex |
|
61 | 61 | if: runner.os == 'Linux' && matrix.deps == 'test_extra' |
|
62 | 62 | run: echo "disable latex for now, issues in mirros" #sudo apt-get -yq -o Acquire::Retries=3 --no-install-suggests --no-install-recommends install texlive dvipng |
@@ -4,7 +4,6 b' include LICENSE' | |||
|
4 | 4 | include setupbase.py |
|
5 | 5 | include _build_meta.py |
|
6 | 6 | include MANIFEST.in |
|
7 | include py.typed | |
|
8 | 7 | include .mailmap |
|
9 | 8 | include .flake8 |
|
10 | 9 | include .pre-commit-config.yaml |
@@ -1,10 +1,108 b'' | |||
|
1 | 1 | [build-system] |
|
2 |
requires = ["setuptools |
|
|
2 | requires = ["setuptools>=61.2"] | |
|
3 | 3 | # We need access to the 'setupbase' module at build time. |
|
4 | 4 | # Hence we declare a custom build backend. |
|
5 | 5 | build-backend = "_build_meta" # just re-exports setuptools.build_meta definitions |
|
6 | 6 | backend-path = ["."] |
|
7 | 7 | |
|
8 | [project] | |
|
9 | name = "ipython" | |
|
10 | description = "IPython: Productive Interactive Computing" | |
|
11 | keywords = ["Interactive", "Interpreter", "Shell", "Embedding"] | |
|
12 | classifiers = [ | |
|
13 | "Framework :: IPython", | |
|
14 | "Framework :: Jupyter", | |
|
15 | "Intended Audience :: Developers", | |
|
16 | "Intended Audience :: Science/Research", | |
|
17 | "License :: OSI Approved :: BSD License", | |
|
18 | "Programming Language :: Python", | |
|
19 | "Programming Language :: Python :: 3", | |
|
20 | "Programming Language :: Python :: 3 :: Only", | |
|
21 | "Topic :: System :: Shells", | |
|
22 | ] | |
|
23 | requires-python = ">=3.10" | |
|
24 | dependencies = [ | |
|
25 | 'colorama; sys_platform == "win32"', | |
|
26 | "decorator", | |
|
27 | "exceptiongroup; python_version<'3.11'", | |
|
28 | "jedi>=0.16", | |
|
29 | "matplotlib-inline", | |
|
30 | 'pexpect>4.3; sys_platform != "win32" and sys_platform != "emscripten"', | |
|
31 | "prompt_toolkit>=3.0.41,<3.1.0", | |
|
32 | "pygments>=2.4.0", | |
|
33 | "stack_data", | |
|
34 | "traitlets>=5", | |
|
35 | "typing_extensions; python_version<'3.10'", | |
|
36 | ] | |
|
37 | dynamic = ["authors", "entry-points", "license", "scripts", "version"] | |
|
38 | ||
|
39 | [project.readme] | |
|
40 | file = "long_description.rst" | |
|
41 | content-type = "text/x-rst" | |
|
42 | ||
|
43 | [project.urls] | |
|
44 | Homepage = "https://ipython.org" | |
|
45 | Documentation = "https://ipython.readthedocs.io/" | |
|
46 | Funding = "https://numfocus.org/" | |
|
47 | Source = "https://github.com/ipython/ipython" | |
|
48 | Tracker = "https://github.com/ipython/ipython/issues" | |
|
49 | ||
|
50 | [project.optional-dependencies] | |
|
51 | black = [ | |
|
52 | "black", | |
|
53 | ] | |
|
54 | doc = [ | |
|
55 | "ipykernel", | |
|
56 | "setuptools>=18.5", | |
|
57 | "sphinx>=1.3", | |
|
58 | "sphinx-rtd-theme", | |
|
59 | "docrepr", | |
|
60 | "matplotlib", | |
|
61 | "stack_data", | |
|
62 | "typing_extensions", | |
|
63 | "exceptiongroup", | |
|
64 | "ipython[test]", | |
|
65 | ] | |
|
66 | kernel = [ | |
|
67 | "ipykernel", | |
|
68 | ] | |
|
69 | nbconvert = [ | |
|
70 | "nbconvert", | |
|
71 | ] | |
|
72 | nbformat = [ | |
|
73 | "nbformat", | |
|
74 | ] | |
|
75 | notebook = [ | |
|
76 | "ipywidgets", | |
|
77 | "notebook", | |
|
78 | ] | |
|
79 | parallel = [ | |
|
80 | "ipyparallel", | |
|
81 | ] | |
|
82 | qtconsole = [ | |
|
83 | "qtconsole", | |
|
84 | ] | |
|
85 | terminal = [] | |
|
86 | test = [ | |
|
87 | "pytest<8", | |
|
88 | "pytest-asyncio<0.22", | |
|
89 | "testpath", | |
|
90 | "pickleshare", | |
|
91 | ] | |
|
92 | test_extra = [ | |
|
93 | "ipython[test]", | |
|
94 | "curio", | |
|
95 | "matplotlib!=3.2.0", | |
|
96 | "nbformat", | |
|
97 | "numpy>=1.23", | |
|
98 | "pandas", | |
|
99 | "trio", | |
|
100 | ] | |
|
101 | all = [ | |
|
102 | "ipython[black,doc,kernel,nbconvert,nbformat,notebook,parallel,qtconsole,terminal]", | |
|
103 | "ipython[test,test_extra]", | |
|
104 | ] | |
|
105 | ||
|
8 | 106 | [tool.mypy] |
|
9 | 107 | python_version = "3.10" |
|
10 | 108 | ignore_missing_imports = true |
@@ -76,3 +174,23 b' asyncio_mode = "strict"' | |||
|
76 | 174 | |
|
77 | 175 | [tool.pyright] |
|
78 | 176 | pythonPlatform="All" |
|
177 | ||
|
178 | [tool.setuptools] | |
|
179 | zip-safe = false | |
|
180 | platforms = ["Linux", "Mac OSX", "Windows"] | |
|
181 | license-files = ["LICENSE"] | |
|
182 | include-package-data = false | |
|
183 | ||
|
184 | [tool.setuptools.packages.find] | |
|
185 | exclude = ["setupext"] | |
|
186 | namespaces = false | |
|
187 | ||
|
188 | [tool.setuptools.package-data] | |
|
189 | "IPython" = ["py.typed"] | |
|
190 | "IPython.core" = ["profile/README*"] | |
|
191 | "IPython.core.tests" = ["*.png", "*.jpg", "daft_extension/*.py"] | |
|
192 | "IPython.lib.tests" = ["*.wav"] | |
|
193 | "IPython.testing.plugin" = ["*.txt"] | |
|
194 | ||
|
195 | [tool.setuptools.dynamic] | |
|
196 | version = {attr = "IPython.core.release.__version__"} |
@@ -1,111 +1,3 b'' | |||
|
1 | [metadata] | |
|
2 | name = ipython | |
|
3 | version = attr: IPython.core.release.__version__ | |
|
4 | url = https://ipython.org | |
|
5 | description = IPython: Productive Interactive Computing | |
|
6 | long_description_content_type = text/x-rst | |
|
7 | long_description = file: long_description.rst | |
|
8 | license_file = LICENSE | |
|
9 | project_urls = | |
|
10 | Documentation = https://ipython.readthedocs.io/ | |
|
11 | Funding = https://numfocus.org/ | |
|
12 | Source = https://github.com/ipython/ipython | |
|
13 | Tracker = https://github.com/ipython/ipython/issues | |
|
14 | keywords = Interactive, Interpreter, Shell, Embedding | |
|
15 | platforms = Linux, Mac OSX, Windows | |
|
16 | classifiers = | |
|
17 | Framework :: IPython | |
|
18 | Framework :: Jupyter | |
|
19 | Intended Audience :: Developers | |
|
20 | Intended Audience :: Science/Research | |
|
21 | License :: OSI Approved :: BSD License | |
|
22 | Programming Language :: Python | |
|
23 | Programming Language :: Python :: 3 | |
|
24 | Programming Language :: Python :: 3 :: Only | |
|
25 | Topic :: System :: Shells | |
|
26 | ||
|
27 | [options] | |
|
28 | packages = find: | |
|
29 | python_requires = >=3.10 | |
|
30 | zip_safe = False | |
|
31 | install_requires = | |
|
32 | colorama; sys_platform == "win32" | |
|
33 | decorator | |
|
34 | exceptiongroup; python_version<'3.11' | |
|
35 | jedi>=0.16 | |
|
36 | matplotlib-inline | |
|
37 | pexpect>4.3; sys_platform != "win32" and sys_platform != "emscripten" | |
|
38 | prompt_toolkit>=3.0.41,<3.1.0 | |
|
39 | pygments>=2.4.0 | |
|
40 | stack_data | |
|
41 | traitlets>=5 | |
|
42 | typing_extensions ; python_version<'3.10' | |
|
43 | ||
|
44 | [options.extras_require] | |
|
45 | black = | |
|
46 | black | |
|
47 | doc = | |
|
48 | ipykernel | |
|
49 | setuptools>=18.5 | |
|
50 | sphinx>=1.3 | |
|
51 | sphinx-rtd-theme | |
|
52 | docrepr | |
|
53 | matplotlib | |
|
54 | stack_data | |
|
55 | typing_extensions | |
|
56 | exceptiongroup | |
|
57 | %(test)s | |
|
58 | kernel = | |
|
59 | ipykernel | |
|
60 | nbconvert = | |
|
61 | nbconvert | |
|
62 | nbformat = | |
|
63 | nbformat | |
|
64 | notebook = | |
|
65 | ipywidgets | |
|
66 | notebook | |
|
67 | parallel = | |
|
68 | ipyparallel | |
|
69 | qtconsole = | |
|
70 | qtconsole | |
|
71 | terminal = | |
|
72 | test = | |
|
73 | pytest<8 | |
|
74 | pytest-asyncio<0.22 | |
|
75 | testpath | |
|
76 | pickleshare | |
|
77 | test_extra = | |
|
78 | %(test)s | |
|
79 | curio | |
|
80 | matplotlib!=3.2.0 | |
|
81 | nbformat | |
|
82 | numpy>=1.23 | |
|
83 | pandas | |
|
84 | trio | |
|
85 | all = | |
|
86 | %(black)s | |
|
87 | %(doc)s | |
|
88 | %(kernel)s | |
|
89 | %(nbconvert)s | |
|
90 | %(nbformat)s | |
|
91 | %(notebook)s | |
|
92 | %(parallel)s | |
|
93 | %(qtconsole)s | |
|
94 | %(terminal)s | |
|
95 | %(test_extra)s | |
|
96 | %(test)s | |
|
97 | ||
|
98 | [options.packages.find] | |
|
99 | exclude = | |
|
100 | setupext | |
|
101 | ||
|
102 | [options.package_data] | |
|
103 | IPython = py.typed | |
|
104 | IPython.core = profile/README* | |
|
105 | IPython.core.tests = *.png, *.jpg, daft_extension/*.py | |
|
106 | IPython.lib.tests = *.wav | |
|
107 | IPython.testing.plugin = *.txt | |
|
108 | ||
|
109 | 1 |
|
|
110 | 2 | ignore_patterns = |
|
111 | 3 | IPython/core/tests |
@@ -66,49 +66,10 b' setup_args = dict(' | |||
|
66 | 66 | license = license, |
|
67 | 67 | ) |
|
68 | 68 | |
|
69 | ||
|
70 | #--------------------------------------------------------------------------- | |
|
71 | # Find packages | |
|
72 | #--------------------------------------------------------------------------- | |
|
73 | ||
|
74 | def find_packages(): | |
|
75 | """ | |
|
76 | Find all of IPython's packages. | |
|
77 | """ | |
|
78 | excludes = ['deathrow', 'quarantine'] | |
|
79 | packages = [] | |
|
80 | for directory, subdirs, files in os.walk("IPython"): | |
|
81 | package = directory.replace(os.path.sep, ".") | |
|
82 | if any(package.startswith("IPython." + exc) for exc in excludes): | |
|
83 | # package is to be excluded (e.g. deathrow) | |
|
84 | continue | |
|
85 | if '__init__.py' not in files: | |
|
86 | # not a package | |
|
87 | continue | |
|
88 | packages.append(package) | |
|
89 | return packages | |
|
90 | ||
|
91 | 69 | #--------------------------------------------------------------------------- |
|
92 |
# |
|
|
70 | # Check package data | |
|
93 | 71 | #--------------------------------------------------------------------------- |
|
94 | 72 | |
|
95 | def find_package_data(): | |
|
96 | """ | |
|
97 | Find IPython's package_data. | |
|
98 | """ | |
|
99 | # This is not enough for these things to appear in an sdist. | |
|
100 | # We need to muck with the MANIFEST to get this to work | |
|
101 | ||
|
102 | package_data = { | |
|
103 | 'IPython.core' : ['profile/README*'], | |
|
104 | 'IPython.core.tests' : ['*.png', '*.jpg', 'daft_extension/*.py'], | |
|
105 | 'IPython.lib.tests' : ['*.wav'], | |
|
106 | 'IPython.testing.plugin' : ['*.txt'], | |
|
107 | } | |
|
108 | ||
|
109 | return package_data | |
|
110 | ||
|
111 | ||
|
112 | 73 | def check_package_data(package_data): |
|
113 | 74 | """verify that package_data globs make sense""" |
|
114 | 75 | print("checking package data") |
General Comments 0
You need to be logged in to leave comments.
Login now