Skip to main content

A direct interface with Amalgam compiled DLL or so.

Project description

Amalgam™

Amalgam™ is a domain specific language (DSL) developed primarily for genetic programming and instance based machine learning, but also for simulation, agent based modeling, data storage and retrieval, the mathematics of probability theory and information theory, and game content and AI. The language format is somewhat LISP-like in that it uses parenthesized list format with prefix notation and is geared toward functional programming, where there is a one-to-one mapping between the code and the corresponding parse tree. The Howso Engine is an example of a program written in Amalgam.

Resources

General Overview

Coding in Amalgam can be done natively as demonstrated in the Amalgam User Guide or through this Amalgam™ Python wrapper. The Python wrapper handles the binaries for the user so the user just needs to worry about the code.

Supported Platforms

Compatible with Python versions: 3.8, 3.9, 3.10, and 3.11

Operating Systems

OS x86_64 arm64
Windows Yes No
Linux Yes Yes
MacOS Yes Yes

Install

To install the current release:

pip install amalgam-lang

Usage

This wrapper allows the user to write and execute Amalgam™ code in Python, just like any other Python program. Once the wrapper is imported, the code handles like native Python code as shown below:

from amalgam.api import Amalgam
import json

amlg = Amalgam()
# Load entity .amlg or .caml file
amlg.load_entity("handle_name", "/path/to/file.amlg")
# Execute a label in the loaded entity, passing parameters as JSON
response = amlg.execute_entity_json("handle_name", "label_name", json.dumps({ "abc": 123 }))
result = json.loads(response)

The wrapper handles the Amalgam language binary (so/dll/dylib) automatically for the user, however the default binary can be overridden using the library_path parameter.

amlg = Amalgam(library_path="/path/to/amalgam-mt.so")

License

License

Contributing

Contributing

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

amalgam-lang-6.2.0.tar.gz (21.1 MB view details)

Uploaded Source

Built Distributions

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

amalgam_lang-6.2.0-py3-none-win_amd64.whl (4.5 MB view details)

Uploaded Python 3Windows x86-64

amalgam_lang-6.2.0-py3-none-manylinux_2_29_x86_64.whl (5.1 MB view details)

Uploaded Python 3manylinux: glibc 2.29+ x86-64

amalgam_lang-6.2.0-py3-none-manylinux_2_29_aarch64.whl (4.5 MB view details)

Uploaded Python 3manylinux: glibc 2.29+ ARM64

amalgam_lang-6.2.0-py3-none-macosx_12_0_x86_64.whl (4.4 MB view details)

Uploaded Python 3macOS 12.0+ x86-64

amalgam_lang-6.2.0-py3-none-macosx_12_0_arm64.whl (2.9 MB view details)

Uploaded Python 3macOS 12.0+ ARM64

amalgam_lang-6.2.0-py3-none-any.whl (21.2 MB view details)

Uploaded Python 3

File details

Details for the file amalgam-lang-6.2.0.tar.gz.

File metadata

  • Download URL: amalgam-lang-6.2.0.tar.gz
  • Upload date:
  • Size: 21.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for amalgam-lang-6.2.0.tar.gz
Algorithm Hash digest
SHA256 bc272c2750fd7ead65075d28b3ee96494157db1a79c8eb2983be37ad1090ff19
MD5 8ca2bb0e1d37b0fefb2b24e7cd687f45
BLAKE2b-256 315400c6d97fa98276308ffb2fd5244fa6ed6abdb872d02e1475c3246c06f533

See more details on using hashes here.

File details

Details for the file amalgam_lang-6.2.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: amalgam_lang-6.2.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for amalgam_lang-6.2.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d32a294ab4b0be4d407399f919dff3af0950c111f070d230669d28ef02b1e1e9
MD5 5df8c8792a749a816844673a3b495833
BLAKE2b-256 83facc93701a86958278f21e4d5c88c6b48a0c808a291ffcda77a644a1179436

See more details on using hashes here.

File details

Details for the file amalgam_lang-6.2.0-py3-none-manylinux_2_29_x86_64.whl.

File metadata

File hashes

Hashes for amalgam_lang-6.2.0-py3-none-manylinux_2_29_x86_64.whl
Algorithm Hash digest
SHA256 f4d9cdb6b25cd67f6adad510f7a8d33fc8553be3285812c2de9c7cca01a0fcf0
MD5 ea31f5c6e9c92dfe5cfff0e6d23d077c
BLAKE2b-256 366e3ef4b4516ac34928cdba4b4ff5cd988fd9aa24c7f045016ffbaf3c34b90e

See more details on using hashes here.

File details

Details for the file amalgam_lang-6.2.0-py3-none-manylinux_2_29_aarch64.whl.

File metadata

File hashes

Hashes for amalgam_lang-6.2.0-py3-none-manylinux_2_29_aarch64.whl
Algorithm Hash digest
SHA256 61bd3ee8a937231195c196fa929237761786e71f439df9cfa7c2260fd2d0c6dc
MD5 d3a0af53132402c3e22623bb90687eed
BLAKE2b-256 637c4e56a4ac1f693d5a25703506d66854cb3f1a36735165ab5752783de59de0

See more details on using hashes here.

File details

Details for the file amalgam_lang-6.2.0-py3-none-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for amalgam_lang-6.2.0-py3-none-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 7ca6597def160febe4213d5fea26d630f8a1b0f80ea631466428379fe9399929
MD5 bd9425511f72dd289181df973ee815e0
BLAKE2b-256 cfe46512905d822043307f34746205d462f94b5fc7f162d24a65d723605ededb

See more details on using hashes here.

File details

Details for the file amalgam_lang-6.2.0-py3-none-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for amalgam_lang-6.2.0-py3-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 c850111f6a24ed63a47dfc9a54ee63522fbcc8aa58fdaa9bb6ad0fe807c6a262
MD5 3047b675521797646522e50084afcee0
BLAKE2b-256 7413b8ead1b3c327a89cb08d4696226e6a8759d25cb7cd11ced3b75aa09bfe7c

See more details on using hashes here.

File details

Details for the file amalgam_lang-6.2.0-py3-none-any.whl.

File metadata

  • Download URL: amalgam_lang-6.2.0-py3-none-any.whl
  • Upload date:
  • Size: 21.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for amalgam_lang-6.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3667040d646d4d7288600f8b52f4a70c748dfdf1b8bf905fa9727400d11f1ceb
MD5 1f556078a7cde0c990d635690cb1011e
BLAKE2b-256 58c2a81193cd7adf887299e0f5d7686c74659af8d1e614da3914226de890226f

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