Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
build/pkgs/sage_{categories,objects}/src/MANIFEST.in: Add sage/misc/s…
Browse files Browse the repository at this point in the history
…uperseded

build/pkgs/sage_objects/src/requirements.txt: Update

build/pkgs/{sage_objects,sage_categories}/src/MANIFEST.in: Update for 9.2

build/pkgs/sage_objects/src/setup.py: Add macOS multiprocessing fix from src/setup.py

Rename sage_objects, sage_categories to sagemath_objects, sagemath_categories, update metadata

build/pkgs/sagemath_{objects,categories}/src/MANIFEST.in: Prune/exclude more

build/pkgs/sagemath_{objects,categories}: Update README
  • Loading branch information
mkoeppe committed Jun 25, 2021
1 parent 7e1d731 commit b7b8cf3
Show file tree
Hide file tree
Showing 37 changed files with 173 additions and 78 deletions.
1 change: 0 additions & 1 deletion build/pkgs/sage_categories/dependencies

This file was deleted.

1 change: 0 additions & 1 deletion build/pkgs/sage_categories/spkg-install

This file was deleted.

15 changes: 0 additions & 15 deletions build/pkgs/sage_categories/src/README.md

This file was deleted.

1 change: 0 additions & 1 deletion build/pkgs/sage_categories/src/requirements.txt

This file was deleted.

15 changes: 0 additions & 15 deletions build/pkgs/sage_categories/src/setup.cfg

This file was deleted.

1 change: 0 additions & 1 deletion build/pkgs/sage_categories/src/setup.py

This file was deleted.

13 changes: 0 additions & 13 deletions build/pkgs/sage_objects/src/README.md

This file was deleted.

5 changes: 0 additions & 5 deletions build/pkgs/sage_objects/src/requirements.txt

This file was deleted.

15 changes: 0 additions & 15 deletions build/pkgs/sage_objects/src/setup.cfg

This file was deleted.

1 change: 1 addition & 0 deletions build/pkgs/sagemath_categories/dependencies
1 change: 1 addition & 0 deletions build/pkgs/sagemath_categories/spkg-install
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#!/usr/bin/env bash
#
# Script to prepare an sdist tarball for sage_objects
# Script to prepare an sdist tarball for sagemath-categories
# This script is not used during build.
#
# HOW TO MAKE THE TARBALL:
# 1) ./sage --sh build/pkgs/sage_objects/spkg-src
# ./sage --sh build/pkgs/sagemath_categories/spkg-src

if [ -z "$SAGE_ROOT" ] ; then
echo >&2 "Error - SAGE_ROOT undefined ... exiting"
Expand All @@ -15,7 +15,7 @@ fi
# Exit on failure
set -e

cd build/pkgs/sage_objects
cd build/pkgs/sagemath_categories

cd src
sage-python23 -u setup.py --no-user-cfg sdist --dist-dir "$SAGE_DISTFILES"
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
prune sage
graft sage/cpython
graft sage_setup
prune sage_setup/docbuild

include sage/__init__.py # FIXME: Needs to become a namespace package
include sage/env.py # FIXME: sage_setup must be changed so it does not depend on it
include sage/version.py # FIXME: likewise

global-include all__sage_objects.py
global-include all__sage_categories.py

graft sage/features
graft sage/structure
graft sage/categories
include sage/misc/__init__.py
Expand All @@ -30,6 +34,7 @@ include sage/misc/bindable_class.*

include sage/misc/verbose.*
include sage/misc/repr.*
include sage/misc/superseded.*
include sage/misc/misc_c.* # prod
include sage/misc/flatten.* # dep of sage/categories/coxeter_groups.py

Expand Down Expand Up @@ -83,3 +88,5 @@ include sage/misc/package.*

graft sage/repl
graft sage/server

global-exclude *.py[co]
35 changes: 35 additions & 0 deletions build/pkgs/sagemath_categories/src/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
=========================================================================
Sage: Open Source Mathematics Software: Sage categories and basic rings
=========================================================================

About SageMath
--------------

"Creating a Viable Open Source Alternative to
Magma, Maple, Mathematica, and MATLAB"

Copyright (C) 2005-2020 The Sage Development Team

https://www.sagemath.org

SageMath fully supports all major Linux distributions, recent versions of macOS, and Windows (using Cygwin or Windows Subsystem for Linux).

The traditional and recommended way to install SageMath is from source via Sage-the-distribution (https://www.sagemath.org/download-source.html). Sage-the-distribution first builds a large number of open source packages from source (unless it finds suitable versions installed in the system) and then installs the Sage Library (sagelib, implemented in Python and Cython).


About this experimental pip-installable source distribution
-----------------------------------------------------------

This pip-installable source distribution `sagemath-categories` is an experimental distribution of a small part of the Sage Library. Use at your own risk. It provides a small subset of the modules of the Sage library ("sagelib", `sagemath-standard`). It is a superset of the `sagemath-objects` (providing Sage objects, the element/parent framework, categories, the coercion system and the related metaclasses), making various additional categories available without introducing dependencies on additional mathematical libraries.


Documentation
-------------

* `Categories <https://doc.sagemath.org/html/en/reference/categories/index.html>`_

* `Structure <https://doc.sagemath.org/html/en/reference/structure/index.html>`_

* `Coercion <https://doc.sagemath.org/html/en/reference/coercion/index.html>`_

* `Classes, Metaclasses <https://doc.sagemath.org/html/en/reference/misc/index.html#special-base-classes-decorators-etc>`_
File renamed without changes.
1 change: 1 addition & 0 deletions build/pkgs/sagemath_categories/src/requirements.txt
31 changes: 31 additions & 0 deletions build/pkgs/sagemath_categories/src/setup.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
[metadata]
name = sagemath-categories
description = Sage: Open Source Mathematics Software: Sage categories and basic rings
long_description = file: README.rst
long_description_content_type = text/x-rst
license = GNU General Public License (GPL) v2 or later
author = The Sage Developers
author_email = sage-support@googlegroups.com
url = https://www.sagemath.org

classifiers =
Development Status :: 6 - Mature
Intended Audience :: Education
Intended Audience :: Science/Research
License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)
Operating System :: POSIX
Operating System :: MacOS :: MacOS X
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: Implementation :: CPython
Topic :: Scientific/Engineering :: Mathematics

[options]
install_requires =
Cython
pkgconfig
cysignals
gmpy2 ==2.1.0b5
1 change: 1 addition & 0 deletions build/pkgs/sagemath_categories/src/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
#
# To build and test in the tox environment:
#
# ./sage -sh -c '(cd build/pkgs/sage_categories/src && tox)'
# ./sage -sh -c '(cd build/pkgs/sagemath_categories/src && tox -v -v -v)'
#
# To test interactively:
#
# build/pkgs/sage_categories/src/.tox/python/bin/python
# build/pkgs/sagemath_categories/src/.tox/python/bin/python
#
[tox]

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#!/usr/bin/env bash
#
# Script to prepare an sdist tarball for sage_categories
# Script to prepare an sdist tarball for sagemath-objects
# This script is not used during build.
#
# HOW TO MAKE THE TARBALL:
# ./sage --sh build/pkgs/sage_categories/spkg-src
# 1) ./sage --sh build/pkgs/sagemath_objects/spkg-src

if [ -z "$SAGE_ROOT" ] ; then
echo >&2 "Error - SAGE_ROOT undefined ... exiting"
Expand All @@ -15,7 +15,7 @@ fi
# Exit on failure
set -e

cd build/pkgs/sage_categories
cd build/pkgs/sagemath_objects

cd src
sage-python23 -u setup.py --no-user-cfg sdist --dist-dir "$SAGE_DISTFILES"
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
prune sage
graft sage/cpython
graft sage_setup
prune sage_setup/docbuild

include sage/__init__.py # FIXME: Needs to become a namespace package
include sage/env.py # FIXME: sage_setup must be changed so it does not depend on it
include sage/version.py # FIXME: likewise

global-include all__sage_objects.py

graft sage/features
graft sage/structure
include sage/categories/__init__.py # FIXME: Needs to become a namespace package
include sage/categories/action.*
Expand Down Expand Up @@ -52,6 +56,7 @@ include sage/misc/bindable_class.*

include sage/misc/verbose.*
include sage/misc/repr.*
include sage/misc/superseded.*
include sage/misc/misc_c.* # prod
include sage/misc/flatten.* # dep of sage/categories/coxeter_groups.py

Expand Down Expand Up @@ -97,3 +102,5 @@ include sage/misc/package.*

graft sage/repl
graft sage/server

global-exclude *.py[co]
35 changes: 35 additions & 0 deletions build/pkgs/sagemath_objects/src/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
============================================================================================================
Sage: Open Source Mathematics Software: Sage objects, elements, parents, categories, coercion, metaclasses
============================================================================================================

About SageMath
--------------

"Creating a Viable Open Source Alternative to
Magma, Maple, Mathematica, and MATLAB"

Copyright (C) 2005-2020 The Sage Development Team

https://www.sagemath.org

SageMath fully supports all major Linux distributions, recent versions of macOS, and Windows (using Cygwin or Windows Subsystem for Linux).

The traditional and recommended way to install SageMath is from source via Sage-the-distribution (https://www.sagemath.org/download-source.html). Sage-the-distribution first builds a large number of open source packages from source (unless it finds suitable versions installed in the system) and then installs the Sage Library (sagelib, implemented in Python and Cython).


About this experimental pip-installable source distribution
-----------------------------------------------------------

This pip-installable source distribution `sagemath-objects` is an experimental distribution of a small part of the Sage Library. Use at your own risk. It provides a small, fundamental subset of the modules of the Sage library ("sagelib", `sagemath-standard`), making Sage objects, the element/parent framework, categories, the coercion system and the related metaclasses available.


Documentation
-------------

* `Categories <https://doc.sagemath.org/html/en/reference/categories/index.html>`_

* `Structure <https://doc.sagemath.org/html/en/reference/structure/index.html>`_

* `Coercion <https://doc.sagemath.org/html/en/reference/coercion/index.html>`_

* `Classes, Metaclasses <https://doc.sagemath.org/html/en/reference/misc/index.html#special-base-classes-decorators-etc>`_
File renamed without changes.
5 changes: 5 additions & 0 deletions build/pkgs/sagemath_objects/src/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Cython >=0.29.17
pkgconfig # really needed?
cysignals
gmpy2 ==2.1.0b5
ipython >=7
File renamed without changes.
31 changes: 31 additions & 0 deletions build/pkgs/sagemath_objects/src/setup.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
[metadata]
name = sagemath-objects
description = Sage: Open Source Mathematics Software: Sage objects, elements, parents, categories, coercion, metaclasses
long_description = file: README.rst
long_description_content_type = text/x-rst
license = GNU General Public License (GPL) v2 or later
author = The Sage Developers
author_email = sage-support@googlegroups.com
url = https://www.sagemath.org

classifiers =
Development Status :: 6 - Mature
Intended Audience :: Education
Intended Audience :: Science/Research
License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)
Operating System :: POSIX
Operating System :: MacOS :: MacOS X
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: Implementation :: CPython
Topic :: Scientific/Engineering :: Mathematics

[options]
install_requires =
Cython
pkgconfig
cysignals
gmpy2 ==2.1.0b5
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
from distutils import log
from setuptools import setup

# Work around a Cython problem in Python 3.8.x on macOS
# https://github.com/cython/cython/issues/3262
import os
if os.uname().sysname == 'Darwin':
import multiprocessing
multiprocessing.set_start_method('fork', force=True)

from sage_setup.command.sage_build_cython import sage_build_cython
from sage_setup.command.sage_build_ext import sage_build_ext

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
#
# To build and test in the tox environment:
#
# ./sage -sh -c '(cd build/pkgs/sage_objects/src && tox)'
# ./sage -sh -c '(cd build/pkgs/sagemath_objects/src && tox -v -v)'
#
# To test interactively:
#
# build/pkgs/sage_objects/src/.tox/python/bin/python
# build/pkgs/sagemath_objects/src/.tox/python/bin/python
#
[tox]

Expand All @@ -23,7 +23,7 @@ whitelist_externals =
bash

commands =
# Beware of the treacherous non-src layout. "./sage/" shadows the install sage package.
# Beware of the treacherous non-src layout. "./sage/" shadows the installed sage package.
python -c 'import sys; "" in sys.path and sys.path.remove(""); import sage.structure.all, sage.categories.sets_cat'

python -c 'import sys; "" in sys.path and sys.path.remove(""); from sage.all__sage_objects import *'
Expand Down
File renamed without changes.

0 comments on commit b7b8cf3

Please sign in to comment.