Skip to main content

The Domain Specific Language for math.

Project description

Mathsys

Mathsys is a DSL (Domain-Specific Language) aimed to make math writing easier on computers, and something machines can actually understand.

To do so, we are building a hybrid syntax between what math currently is right now, but adding features from programming languages (like multicharacter variables).

The project is currently on its early stages, and future improvements will be made over time. Most features Mathsys aims to cover aren't close to being developed yet.

A new version is released every few weeks on an irregular schedule. Regular releases happen every one to three weeks, whilst patches and bug fixes are released soon after detection.

You will be able to check it out live on the Abscissa playground.

I say we but I'm indeed a solo developer for now, so if you want to get involved learn

How to install

Currently we only ship the latest packages over pip, although soon a web API will be designed. To install, just run:

pip install mathsys

How to contribute

  1. Check out our wiki: here.
  2. Join the team: Contact us to become a member of the organisation and get write role.
  3. Work on a branch: Create a new branch and add your changes. The branch main is protected against direct commits to keep the codebase clean, every commit there is a version deployed into the website.
  4. Submit the pull request: Create a pull request. Don't forget to update the changelog.md and the version numbers accordingly. We will give you feedback.

[!NOTE] If there is already a branch that is developing the next version, branch out instead from that branch instead of branching out from main.

Technical background

Currently only a Python transpiler to LaTeX is available. Here is how it works:

  1. Tokenization and AST building are handled completely by the lark parser at once.
  2. A small LaTeX generator runs over the AST and prints out LaTeX character by character.

License

This project is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International license subject to additional clauses and exceptions. See LICENSE for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mathsys-0.6.1.tar.gz (28.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mathsys-0.6.1-py3-none-any.whl (34.7 kB view details)

Uploaded Python 3

File details

Details for the file mathsys-0.6.1.tar.gz.

File metadata

  • Download URL: mathsys-0.6.1.tar.gz
  • Upload date:
  • Size: 28.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for mathsys-0.6.1.tar.gz
Algorithm Hash digest
SHA256 25f4ba86681f003e457421c120b5d63ce60695e1d2ad68c1bffd148d09c5f66a
MD5 468fbe8aac28b8b807ac60c0a1fd511d
BLAKE2b-256 d7168dcfeb44538dc13304b6feacc092e171b28b8e73f5f19b0086b9b27d7ed6

See more details on using hashes here.

File details

Details for the file mathsys-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: mathsys-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 34.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for mathsys-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 217e6cf75ed4ae73a2b59f76a57eb1d7609947428fd8d9ecef73ac0e30d6cb54
MD5 f4f8276da6e0c420c78de6fc3de9cae0
BLAKE2b-256 2778d6f56cf8020b442496c13f882aaec73b5051aaefe176333947fff7f7e82c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page