Installation ============ Requirements ------------ - Python 3.9 or later - pip 21 or later (for wheel installation) Dependencies installed automatically: ``mpmath``, ``sympy``, ``rich``, ``numpy``. Optional: ``scipy`` (extended math domain), ``pint`` (physical units). ---- Standard Installation --------------------- Install from PyPI using pip: .. code-block:: bash pip install symbolic-lang Verify the installation: .. code-block:: bash symbolic --version ---- Alternative Methods ------------------- From source ~~~~~~~~~~ .. code-block:: bash git clone https://github.com/elijahmanda/symbolic-lang.git cd symbolic-lang pip install -e . The ``-e`` flag installs in editable mode, which is recommended for development. Using Poetry ~~~~~~~~~~~ .. code-block:: bash poetry add symbolic-lang Using Conda ~~~~~~~~~~ .. code-block:: bash conda install -c symbolic-lang symbolic ---- Optional Dependencies --------------------- To enable the full mathematics standard library (Bessel functions, Fourier transforms, orthogonal polynomials, and optimization): .. code-block:: bash pip install symbolic-lang[math] To enable physical unit support via ``pint``: .. code-block:: bash pip install symbolic-lang[units] To install all optional extras: .. code-block:: bash pip install symbolic-lang[all] ---- Confirming the Installation --------------------------- Start the interactive REPL to confirm everything is working: .. code-block:: bash symbolic You should see the Symbolic prompt. Type a simple expression to test: .. code-block:: symbolic >>> 2 ^ 10 1024 >>> factorial(n) = n <= 1 ? 1 : n * factorial(n - 1) >>> factorial(10) 3628800 Type ``%exit`` or press ``Ctrl+D`` to quit. ---- Troubleshooting --------------- **Command not found after installation** Ensure the Python ``bin`` (or ``Scripts`` on Windows) directory is on your ``PATH``. Running ``python -m symbolic`` is an alternative that bypasses PATH issues. **Import errors on first run** Run ``pip install --upgrade symbolic-lang`` to ensure all sub-dependencies are up to date. If the problem persists, file an issue on GitHub with the full traceback. **mpmath precision warnings** Symbolic uses arbitrary-precision arithmetic by default. Precision warnings from ``mpmath`` during large computations are expected and can be suppressed by configuring the precision context explicitly. .. seealso:: :doc:`quickstart` — Write your first Symbolic program.