sagemath/sage

Developer's guide: Add section on modularization

mkoeppe opened this issue · 89 comments

We add a section to the developer manual, explaining packaging portions of the Sage library to distributions packages.

Related discussion in the sage devel:

https://groups.google.com/g/sage-devel/c/cTifWZOAfH8

See also: #32925 Improve documentation of sage.features

CC: @kwankyu @dimpase @tobiasdiez

Component: documentation

Author: Matthias Koeppe, Kwankyu Lee

Branch/Commit: b555735

Reviewer: Kwankyu Lee, Matthias Koeppe

Issue created by migration from https://trac.sagemath.org/ticket/32899

Branch pushed to git repo; I updated commit sha1. New commits:

f85959bREADME.md: Update section Directory Layout

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

2494538src/doc/en/developer/packaging.rst: Update section 'Python-based packages'
0327ca8README.md: Update section Directory Layout
1d3a470src/doc/en/developer/python_packaging.rst: New

Changed commit from f85959b to 1d3a470

Changed commit from 1d3a470 to 7606c55

Branch pushed to git repo; I updated commit sha1. New commits:

7606c55src/doc/en/developer/python_packaging.rst: Document distribution package source layout

Branch pushed to git repo; I updated commit sha1. New commits:

70da678src/doc/en/developer/python_packaging.rst: Document dependencies

Changed commit from 7606c55 to 70da678

Changed commit from 70da678 to 3f80c6e

Branch pushed to git repo; I updated commit sha1. New commits:

3f80c6esrc/doc/en/developer/python_packaging.rst: Version constraints

Author: Matthias Koeppe

comment:7

More to come in a follow-up ticket

Branch pushed to git repo; I updated commit sha1. New commits:

190ee43src/doc/en/developer/python_packaging.rst: Add section on testing

Changed commit from 3f80c6e to 190ee43

Changed commit from 190ee43 to 8da48f2

Branch pushed to git repo; I updated commit sha1. New commits:

8da48f2src/doc/en/developer/python_packaging.rst: More on dependencies

Branch pushed to git repo; I updated commit sha1. New commits:

5f99b19src/doc/en/developer/python_packaging.rst: Namespace packages

Changed commit from 8da48f2 to 5f99b19

Changed commit from 5f99b19 to c7e56f6

Branch pushed to git repo; I updated commit sha1. New commits:

c7e56f6src/doc/en/developer/python_packaging.rst: Explain monorepo

Branch pushed to git repo; I updated commit sha1. New commits:

9a7096esrc/doc/en/developer/python_packaging.rst: Explain symlinks
ba0e4a8src/doc/en/developer/python_packaging.rst: Policy for distribution names

Changed commit from c7e56f6 to ba0e4a8

Changed commit from ba0e4a8 to 6c97779

Branch pushed to git repo; I updated commit sha1. New commits:

6c97779src/doc/en/developer/python_packaging.rst: Add remarks on reducing dependencies

Branch pushed to git repo; I updated commit sha1. New commits:

4eb58dasrc/doc/en/developer/python_packaging.rst: More on testing

Changed commit from 6c97779 to 4eb58da

Branch pushed to git repo; I updated commit sha1. New commits:

c118c88src/doc/en/developer/python_packaging.rst: More on reducing dependencies

Changed commit from 4eb58da to c118c88

Changed commit from c118c88 to e9a4cd5

Branch pushed to git repo; I updated commit sha1. New commits:

e9a4cd5src/doc/en/developer/python_packaging.rst: On testing small distributions

Changed commit from e9a4cd5 to e8d1b95

Branch pushed to git repo; I updated commit sha1. New commits:

e8d1b95src/doc/en/developer/python_packaging.rst: Small edits
comment:20

Ready for review

Changed commit from e8d1b95 to none

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

5f99b19src/doc/en/developer/python_packaging.rst: Namespace packages
c7e56f6src/doc/en/developer/python_packaging.rst: Explain monorepo
9a7096esrc/doc/en/developer/python_packaging.rst: Explain symlinks
ba0e4a8src/doc/en/developer/python_packaging.rst: Policy for distribution names
6c97779src/doc/en/developer/python_packaging.rst: Add remarks on reducing dependencies
4eb58dasrc/doc/en/developer/python_packaging.rst: More on testing
c118c88src/doc/en/developer/python_packaging.rst: More on reducing dependencies
e9a4cd5src/doc/en/developer/python_packaging.rst: On testing small distributions
e8d1b95src/doc/en/developer/python_packaging.rst: Small edits
a4db164More edits
comment:23

I made some edits. If you do not like any part, feel free to revert.

comment:24

Perfect, thank you.

Changed author from Matthias Koeppe to Matthias Koeppe, Kwankyu Lee

Changed commit from a4db164 to 4b4d6d3

Branch pushed to git repo; I updated commit sha1. New commits:

4b4d6d3src/doc/en/developer/packaging_sage_library.rst: Explain ABCs

Changed commit from 4b4d6d3 to 25fb889

Branch pushed to git repo; I updated commit sha1. New commits:

25fb889Still more edits

Reviewer: Kwankyu Lee, Matthias Koeppe

comment:29

The command for testing:

./sage -sh -c '(cd pkgs/sagemath-standard-no-symbolics && SAGE_NUM_THREADS=16 tox -v -v -v -e py39-sagewheels-nopypi)'

does not work for me with the error log:

Traceback (most recent call last):
  File "/Users/kwankyu/GitHub/sage-dev/pkgs/sagemath-standard/setup.py", line 31, in <module>
    from sage_setup.excepthook import excepthook
ModuleNotFoundError: No module named 'sage_setup'

Description changed:

--- 
+++ 
@@ -1 +1,5 @@
+We add a section to the developer manual, explaining packaging portions of the Sage library to distributions packages.
 
+Related discussion in the sage devel:
+
+https://groups.google.com/g/sage-devel/c/cTifWZOAfH8
comment:31

This does not work either:

./sage -sh -c '(cd pkgs/sagemath-standard && SAGE_NUM_THREADS=16 tox -v -v -v -e py39-sagewheels-nopypi)'

producing the same error, on my mac with sage 9.5.beta7.

comment:32

Could you post the output of ls -l venv venv/var/lib/sage/wheels please?

Branch pushed to git repo; I updated commit sha1. New commits:

0955139src/doc/en/developer/packaging_sage_library.rst: Add plot

Changed commit from 25fb889 to 0955139

comment:34
$ ls -l venv venv/var/lib/sage/wheels
lrwxr-xr-x  1 kwankyu  staff  33 Nov 23 10:39 venv -> local/var/lib/sage/venv-python3.9

venv/var/lib/sage/wheels:
total 207624
-rw-r--r--  1 kwankyu  staff   8832568 Nov  5 18:30 Babel-2.9.1-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff   1878140 Nov  5 18:28 Cython-0.29.24-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff    125791 Nov  5 18:30 Jinja2-2.11.2-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     16446 Nov  5 18:26 MarkupSafe-1.1.1-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff    549962 Nov  5 18:29 Pillow-8.1.2-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff    135433 Nov 11 09:25 PyNormaliz-2.14-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff   1014848 Nov  5 18:27 Pygments-2.10.0-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     18536 Nov  5 18:29 Send2Trash-1.8.0-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff   3061886 Nov  5 18:32 Sphinx-4.2.0-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     13612 Nov  5 18:27 alabaster-0.7.12-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff      4354 Nov  5 18:28 appnope-0.1.2-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     38346 Nov  5 18:29 argcomplete-1.12.3-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     40226 Nov  5 18:32 argon2_cffi-20.1.0-cp39-abi3-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff     53741 Nov  5 18:29 attrs-21.2.0-py2.py3-none-any.whl
-rw-------  1 kwankyu  staff     11146 Nov  5 18:28 backcall-0.2.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    157953 Nov  5 18:29 bleach-4.1.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    145546 Nov  5 18:28 certifi-2021.5.30-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    175321 Nov  5 18:31 cffi-1.14.6-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff     36423 Nov  5 18:28 charset_normalizer-2.0.4-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    335536 Nov 19 20:21 cvxopt-1.2.7-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff      6677 Nov  5 18:28 cycler-0.10.0-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff   2394634 Nov  5 18:40 cypari2-2.1.2-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff    230206 Nov  5 18:30 cysignals-1.10.3-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff   4438885 Nov  5 18:29 debugpy-1.4.1-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff      9256 Nov  5 18:27 decorator-4.4.2-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     25110 Nov  5 18:29 defusedxml-0.6.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    575544 Nov  5 18:27 docutils-0.17.1-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff      4515 Nov  5 18:29 entrypoints-0.3-py3-none-any.whl
-rw-------  1 kwankyu  staff     44351 Nov  5 18:26 flit_core-3.4.0-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    839354 Nov 19 20:23 fpylll-0.5.6-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff    217463 Nov  5 18:27 gmpy2-2.1.0b5-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff    112201 Nov  5 18:32 html5lib-1.1-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     59651 Nov  5 18:27 idna-3.2-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff      4780 Nov  5 18:27 imagesize-1.2.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     17798 Nov  5 18:32 importlib_metadata-4.8.1-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     27615 Nov  5 18:32 importlib_resources-5.2.2-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    123641 Nov 19 19:49 ipykernel-6.3.1-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    787935 Nov 19 19:36 ipython-7.27.0-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     26987 Nov  5 18:27 ipython_genutils-0.2.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    121774 Nov  5 18:34 ipywidgets-7.6.4-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff   1414950 Nov  5 18:31 jedi-0.18.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     56318 Nov  5 18:33 jsonschema-3.2.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    122410 Nov  5 18:32 jupyter_client-7.0.2-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     82814 Nov  5 18:32 jupyter_core-4.7.1-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff   7079789 Nov  5 18:35 jupyter_jsmol-0.2.4-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff      4621 Nov  5 18:29 jupyterlab_pygments-0.1.2-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     58661 Nov  5 18:29 kiwisolver-1.0.1-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff   8255677 Nov 19 19:49 matplotlib-3.3.4-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff      8249 Nov 19 19:49 matplotlib_inline-0.1.2-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     54975 Nov  5 18:30 memory_allocator-0.1.1-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff     13526 Nov  5 18:29 mistune-0.8.4-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    532576 Nov  5 18:28 mpmath-1.2.1-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     66037 Nov  5 18:33 nbclient-0.5.4-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    551109 Nov 19 20:23 nbconvert-6.1.0-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     85105 Nov  5 18:34 nbformat-5.1.3-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff      5033 Nov  5 18:29 nest_asyncio-1.5.1-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff   1924502 Nov  5 18:57 networkx-2.6.2-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff   1927288 Nov 19 19:47 networkx-2.6.3-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff   9889567 Nov  5 18:36 notebook-6.4.3-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff   5305065 Nov  5 18:39 numpy-1.21.2-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff   5305485 Nov 19 19:25 numpy-1.21.4-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff     40358 Nov  5 18:26 packaging-21.0-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff      8006 Nov  5 18:29 pandocfilters-1.4.3-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     93948 Nov  5 18:28 parso-0.8.2-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     59041 Nov  5 18:30 pexpect-4.8.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff      6301 Nov  5 18:28 pickleshare-0.7.5-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff   1555101 Nov  5 18:25 pip-21.2.4-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff      6789 Nov  5 18:27 pkgconfig-1.5.5-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     13667 Nov  5 18:29 pluggy-1.0.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    405147 Nov  5 18:36 pplpy-0.8.6-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff     56457 Nov  5 18:29 prometheus_client-0.11.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    370767 Nov  5 18:30 prompt_toolkit-3.0.20-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     13312 Nov  5 18:28 ptyprocess-0.5.1-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     97662 Nov  5 18:29 py-1.10.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    200027 Nov  5 18:28 pybind11-2.7.1-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    112063 Nov  5 18:29 pycparser-2.20-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     67860 Nov  5 18:26 pyparsing-2.4.7-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     68324 Nov  5 18:29 pyrsistent-0.18.0-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff    227207 Nov  5 18:28 python_dateutil-2.8.1-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    503077 Nov  5 18:27 pytz-2021.1-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    484970 Nov  5 18:31 pyzmq-22.2.1-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff     62263 Nov  5 18:30 requests-2.26.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    220337 Nov  5 18:33 rpy2-3.3.6-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff      4256 Nov 11 09:26 sage_conf-9.5b5-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff      4254 Nov 15 09:49 sage_conf-9.5b6-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff      4257 Nov 23 10:41 sage_conf-9.5b7-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     50637 Nov  5 19:01 sage_docbuild-9.5b5-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     50637 Nov 13 18:51 sage_docbuild-9.5b6-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     50660 Nov 19 19:49 sage_docbuild-9.5b7-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     85488 Nov  5 18:30 sage_setup-9.5b5-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     85486 Nov 13 18:37 sage_setup-9.5b6-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     85487 Nov 19 19:25 sage_setup-9.5b7-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     29653 Nov 19 20:23 sagenb_export-3.3-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    564506 Nov 19 20:23 sagetex-3.5-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff  19845592 Nov 19 19:47 scipy-1.6.3-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff    946134 Nov  5 18:26 setuptools-58.2.0-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     33239 Nov  5 18:26 setuptools_scm-6.3.2-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff      5077 Nov  5 18:28 simplegeneric-0.8.1-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     11062 Nov  5 18:27 six-1.16.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     93493 Nov  5 18:27 snowballstemmer-2.1.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    121189 Nov  5 18:28 sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     84700 Nov  5 18:28 sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    100462 Nov  5 18:28 sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff      5088 Nov  5 18:28 sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     90624 Nov  5 18:28 sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     94034 Nov  5 18:28 sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     39957 Nov  5 18:28 sphinxcontrib_websupport-1.2.1-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff   6088445 Nov  5 18:31 sympy-1.8-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     15393 Nov  5 18:29 terminado-0.11.1-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     84779 Nov  5 18:29 testpath-0.5.0-py3-none-any.whl
-rw-------  1 kwankyu  staff     11849 Nov  5 18:26 tomli-1.2.1-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    416685 Nov  5 18:28 tornado-6.1-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r--  1 kwankyu  staff    102011 Nov  5 18:30 traitlets-5.1.0-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    102024 Nov 19 19:21 traitlets-5.1.1-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     26140 Nov  5 18:28 typing_extensions-3.10.0.0-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     16219 Nov  5 18:29 tzlocal-2.1-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff    138493 Nov  5 18:28 urllib3-1.26.6-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff      9200 Nov  5 18:28 vcversioner-2.16.0.0-py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     29224 Nov  5 18:28 wcwidth-0.2.5-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     10324 Nov  5 18:29 webencodings-0.5.1-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff     35180 Nov  5 18:25 wheel-0.37.0-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff   2219031 Nov  5 18:32 widgetsnbextension-3.5.1-py2.py3-none-any.whl
-rw-r--r--  1 kwankyu  staff      5701 Nov  5 18:31 zipp-3.5.0-py3-none-any.whl
comment:35

The new plot looks like this:

Is this what you want?

comment:36

I would use === instead of --- for the heading Hierarchy of distribution packages.

comment:37

Replying to @kwankyu:

The new plot looks like this:

Is this what you want?

Looks the same here; this can probably be made a bit prettier

comment:38

Replying to @kwankyu:

This does not work either:

./sage -sh -c '(cd pkgs/sagemath-standard && SAGE_NUM_THREADS=16 tox -v -v -v -e py39-sagewheels-nopypi)'

producing the same error, on my mac with sage 9.5.beta7.

Thanks for testing. I am working on a fix

Branch pushed to git repo; I updated commit sha1. New commits:

e5ad518pkgs/sagemath-standard/setup.py: Do not depend on sage_setup for sdist or egg_info

Changed commit from 0955139 to e5ad518

Changed commit from e5ad518 to 821d16e

Branch pushed to git repo; I updated commit sha1. New commits:

821d16esrc/doc/en/developer/packaging_sage_library.rst: Add bootstrap to testing instructions to avoid the trap of #32868
comment:41

Found a fix and updated the instructions; please try when you have a chance

Changed commit from 821d16e to 77c957f

Branch pushed to git repo; I updated commit sha1. New commits:

77c957fsrc/doc/en/developer/packaging_sage_library.rst: Put hierarchy section one level higher
comment:43

It progressed further but then:

...
...
...
py39-sagewheels-nopypi installdeps: -rrequirements.txt
WARNING: Discarding $PYTHONPATH from environment, to override specify PYTHONPATH in 'passenv' in your configuration.
setting PATH=/Users/kwankyu/GitHub/sage-dev/pkgs/sagemath-standard/.tox/py39-sagewheels-nopypi/bin:/Users/kwankyu/GitHub/sage-dev/local/share/nodejs/12.18.3/lib/node_modules/.bin:/Users/kwankyu/GitHub/sage-dev/local/share/nodejs/12.18.3/bin:/Users/kwankyu/GitHub/sage-dev/build/bin:/Users/kwankyu/GitHub/sage-dev/src/bin:/Users/kwankyu/GitHub/sage-dev/local/var/lib/sage/venv-python3.9/bin:/Users/kwankyu/GitHub/sage-dev/local/bin:/usr/local/opt/texinfo/bin:/usr/local/opt/gettext/bin:/Applications/google-cloud-sdk/bin:.:/usr/local/opt/python3/Frameworks/Python.framework/Versions/Current/bin:/Users/kwankyu/Workplace/bin:/usr/local/bin:/usr/local/sbin:/usr/texbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/Library/TeX/texbin:/Library/Apple/usr/bin:/Applications/Magma
[28272] /Users/kwankyu/GitHub/sage-dev/pkgs/sagemath-standard$ /Users/kwankyu/GitHub/sage-dev/pkgs/sagemath-standard/.tox/py39-sagewheels-nopypi/bin/python -m pip install -rrequirements.txt
Looking in links: file:///Users/kwankyu/GitHub/sage-dev/local/var/lib/sage/wheels
Ignoring pycygwin: markers 'sys_platform == "cygwin"' don't match your environment
WARNING: Location 'file:///Users/kwankyu/GitHub/sage-dev/local/var/lib/sage/wheels' is ignored: it is neither a file nor a directory.
ERROR: Could not find a version that satisfies the requirement sage-conf==9.5.beta7 (from versions: none)
ERROR: No matching distribution found for sage-conf==9.5.beta7
ERROR: invocation failed (exit code 1)
ERROR: could not install deps [-rrequirements.txt]; v = InvocationError('/Users/kwankyu/GitHub/sage-dev/pkgs/sagemath-standard/.tox/py39-sagewheels-nopypi/bin/python -m pip install -rrequirements.txt', 1)
py39-sagewheels-nopypi finish: getenv /Users/kwankyu/GitHub/sage-dev/pkgs/sagemath-standard/.tox/py39-sagewheels-nopypi after 2.36 seconds
___________________________________ summary ____________________________________
ERROR:   py39-sagewheels-nopypi: could not install deps [-rrequirements.txt]; v = InvocationError('/Users/kwankyu/GitHub/sage-dev/pkgs/sagemath-standard/.tox/py39-sagewheels-nopypi/bin/python -m pip install -rrequirements.txt', 1)
cleanup /Users/kwankyu/GitHub/sage-dev/pkgs/sagemath-standard/.tox/.tmp/package/1/sagemath-standard-9.5b7.zip
comment:44

I got that before I do make. I will try again.

Changed commit from 77c957f to 9375ef8

Branch pushed to git repo; I updated commit sha1. New commits:

9375ef8pkgs/sagemath-standard/tox.ini: Use SAGE_VENV or venv symlink to find wheels
comment:46

Here's a fix cherry-picked from #32601.

Branch pushed to git repo; I updated commit sha1. New commits:

c6fc111Prettier diagram

Changed commit from 9375ef8 to c6fc111

comment:48

This seems the best solution for the plot.

comment:49

Thanks very much, this is a great improvement.

Changed commit from c6fc111 to 7d6a44c

Branch pushed to git repo; I updated commit sha1. New commits:

7d6a44cUse :mod: as markup for packages/modules

Changed commit from 7d6a44c to f83d424

Branch pushed to git repo; I updated commit sha1. New commits:

f83d424Improve ABC example

Branch pushed to git repo; I updated commit sha1. New commits:

817a8d0src/doc/en/developer/packaging_sage_library.rst: More :mod: and :class: markup

Changed commit from f83d424 to 817a8d0

Description changed:

--- 
+++ 
@@ -3,3 +3,5 @@
 Related discussion in the sage devel:
 
 https://groups.google.com/g/sage-devel/c/cTifWZOAfH8
+
+See also: #32925 Improve documentation of `sage.features`

Changed commit from 817a8d0 to b555735

Branch pushed to git repo; I updated commit sha1. New commits:

b555735src/doc/en/developer/packaging_sage_library.rst: Link to pypi.org and to documentation of packaging metadata
comment:55

I am positive on the branch. Let's wait for green light.

comment:56

Perhaps the patchbot failure is not genuine, but I will double check it.

Meanwhile, I have a question. Is it too late to name the distribution packages as sagelib-xxx? I think this name suggests that the distribution provides a portion of the sage library, which is true. Also in pkgs/, I see both distribution packages with names sage-xxx and sagemath-xxx. Here sagemath does not tell the difference between sage- packages and sagemath- packages.

comment:57

The distributions named sage-... use the package/module name: sage-setup distributes sage_setup, sage-conf distributes sage_conf etc.

Overall the name "sage" is heavily overloaded, on PyPI you see a number of completely unrelated packages. Using "sagelib" would not help with that.

"sagemath" is sufficiently specific.

comment:58

I am okay with the branch. The patchbot failures are not genuine.

You can set it positive review if you are okay too.

comment:59

Thanks for the review and your contributions!

Changed branch from public/32899 to b555735