.. _spkg_sagemath_objects:

============================================================================================================
sagemath_objects: Sage objects, elements, parents, categories, coercion, metaclasses
============================================================================================================

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

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

   Copyright (C) 2005-2023 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.


Dependencies
------------

When building from source, development packages of `gmp`, `mpfr`, and `mpc` are needed.


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>`_

Type
----

experimental


Dependencies
------------

- $(PYTHON)
- :ref:`spkg_cysignals`
- :ref:`spkg_gmpy2`
- $(PYTHON_TOOLCHAIN)
- :ref:`spkg_sagemath_environment`
- :ref:`spkg_sage_setup`
- :ref:`spkg_cython`
- :ref:`spkg_pkgconfig`
- :ref:`spkg_python_build`

Version Information
-------------------

package-version.txt::

    10.1

install-requires.txt::

    # This file is updated on every release by the sage-update-version script
    sagemath-objects ~= 10.1


Equivalent System Packages
--------------------------

(none known)

