A package for phg modeling language
Project description
__init__.py
from phg import VisPHG
Installation
You can install the package using pip:
pip install phg
Overview
PHG - A Minimalist Programming Language for Describing Structures
PHG (Programming HyperGraph) is a minimalist programming language inspired by the structure of bacteriophages. It combines concepts from group theory to provide custom overloading of variables and operations, making it uniquely suited for describing complex node structures such as 3D scenes and 2D sprites.
Features
- Node Definition: Easily define nodes and their properties.
- Array and Sequence Support: Utilize both arrays and sequences for managing data.
- Control Statements: Implement conditional and looping logic.
- Function Definitions: Create custom functions for reusable code.
- Tree Structure: Describe hierarchical data structures effectively.
- API Integration: Access built-in functions for mathematical operations, drawing, and data manipulation.
Basic Syntax
Node Definition
{
a {
p: 1, 0, 0;
b { p: 2, 0, 0 }
<a, a, a>
[a, a, a]
}
}
Control Statements
?(condition) { statement } : { else statement };
@n { statement1 ? (_i = x) ~; statement2; }
Function Definition
$functionName(args...) { statement $return }
Sequences and Arrays
- Sequence:
<a, b, c, d>corresponds to{a {b {c {d}}}} - Array:
[a, b, c, d]corresponds to{{a}{b}{c}{d}}
Example
node1 {
pos: 1, 2, 3;
node2 { x: 1; node3 { y: 1 } }
}
Built-in Functions
- Math Functions:
rnd(),sin(),cos() - Node Operations:
im(),on(),wak(),dump() - Data Conversion:
tojson()
Installation
You can install PHG via PyPI:
pip install phg
Usage
To use PHG, simply import the module in your Python project:
import phg
# Define your PHG code as a string
phg_code = """
{
a {
p: 1, 0, 0;
b { p: 2, 0, 0 }
}
}
"""
# Execute the PHG code
phg.run(phg_code)
Documentation
For more detailed information on syntax, functions, and examples, please refer to the official documentation.
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
License
This project is licensed under the MIT License.
Acknowledgements
PHG is inspired by concepts from group theory and aims to provide a flexible way to describe complex data structures in programming.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file phg_vis-0.1.6.tar.gz.
File metadata
- Download URL: phg_vis-0.1.6.tar.gz
- Upload date:
- Size: 2.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb5a6811c1aeed95704fa7c35a41375724be070c468b84127415e75f4a967842
|
|
| MD5 |
70d45364c78b539ffd8424d8834fd721
|
|
| BLAKE2b-256 |
5295d6d762222f6f3dae75b534c50c433648950a52a23213f71312b2162ff47e
|
File details
Details for the file phg_vis-0.1.6-py3-none-any.whl.
File metadata
- Download URL: phg_vis-0.1.6-py3-none-any.whl
- Upload date:
- Size: 2.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3a850849b2070a5dae03e60a44009e55ffa0ab841aadcec9fa9c4fd5e84dfce
|
|
| MD5 |
669b88890b4348d6fb8c70e1e46de4d1
|
|
| BLAKE2b-256 |
c9e81fedf06e51c9d7f69faed6259bd52acccd93bec59a2ac2e5e020c5d26dc2
|