Skip to main content

Python package for Litex core

Project description

Pylitex

This is a Python api library for Litex core, which aims to help Python users to interact with Litex core.

Installation

💡 Install Litex core before using pylitex, visit our website and read the Installation of Litex core.

After installing Litex core on your machine, install pylitex in the same way as installing other Python packages:

# remember to install Litex core before install pylitex
# change your Python env to which your are using
# then run following commands
pip install pylitex

pylitex is under rapid development, so the version is not stable. Update pylitex using the following command:

pip install -U pylitex

Usage

Import pylitex as you installed.

import pylitex

Run full code

1 + 1 = 2 and 2 + 2 = 4 are examples of Litex code. You can write your own Litex code.

# run full code
result = pylitex.run("1 + 1 = 2")

# run full codes with multi-process
results = pylitex.run_batch(["1 + 1 = 2", "2 + 2 = 4"], 2)

Example:

import pylitex

a = 1
b = 1
pylitex.run(str(a) + " = " + str(b))

Run continuous codes

# run continuous codes in one litex env
litex_runner = pylitex.Runner()
result1 = litex_runner.run("1 + 1 = 2")
result2 = litex_runner.run("2 + 2 = 4")
litex_runner.close()

# run continuous code in litex multi-process pool
litex_pool = pylitex.RunnerPool()
litex_pool.inject_code({id: "id1", code: "1 + 1 = 2"})
litex_pool.inject_code({id: "id2", code: "2 + 2 = 4"})
litex_pool.inject_code({id: "id1", code: "1 + 1 = 2"})
litex_pool.inject_code({id: "id1", code: "2 + 2 = 4"})
litex_pool.inject_code({id: "id2", code: "2 + 2 = 4"})
results = litex_pool.get_results()
litex_pool.close()

Example:

import pylitex

runner = pylitex.Runner()
runner.run("let a R: a = 1")
runner.run("let b R: b = 2")
runner.run("b = 2 * a")
runner.close()

The difference between pylitex.run() and pylitex.Runner().run() is that pylitex.run() will start a new Litex environment for each code, while runner = pylitex.Runner() and use runner.run() will use the same Litex environment for all codes. You can execute runner.run("clear") to clear the Litex environment of the runner.

Return type

For pylitex.run() and pylitex.Runner().run(), the return type is a python dict like (Call it pylitexResult):

{"success": boolean, "payload": str, "message": str}

For pylitex.run_batch(), the return type is a python list[pylitexResult] like:

[
    {"success": boolean, "payload": str, "message": str},
    {"success": boolean, "payload": str, "message": str},
    ...
]

For pylitex.RunnerPool().get_results(), the return type is a python dict[list[pylitexResult]] like:

{
    "id1": [
        {"success": boolean, "payload": str, "message": str},
        {"success": boolean, "payload": str, "message": str},
        {"success": boolean, "payload": str, "message": str},
        ...
    ],
    "id2": [
        {"success": boolean, "payload": str, "message": str},
        {"success": boolean, "payload": str, "message": str},
        ...
    ],
    ...
}

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

pylitex-0.1.15.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

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

pylitex-0.1.15-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file pylitex-0.1.15.tar.gz.

File metadata

  • Download URL: pylitex-0.1.15.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pylitex-0.1.15.tar.gz
Algorithm Hash digest
SHA256 0aeec30d0b7df9066a8a05ceb4541efd330d0e3603bec31edef21dc9a66aa1a1
MD5 b66b83546501f1ba9da75c00fdb7f14c
BLAKE2b-256 85c4f10426534fca19a74d22d498ae54fab79971761f7dccad3236b242c23988

See more details on using hashes here.

File details

Details for the file pylitex-0.1.15-py3-none-any.whl.

File metadata

  • Download URL: pylitex-0.1.15-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pylitex-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 cddbd5eda11453f69b36435e664ef3d33c4abe1ea408e628a828a3d14fb37ebb
MD5 9178d1f421669dee3aec52fe09dbab2b
BLAKE2b-256 083e5396fb55d178e6328b0fec6d2fb4c7fde0c0aa8997a217a7185184a2121d

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