Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 9 committers (11.1%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.5%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Python wrapper for Substrate
Basic Info
- Host: GitHub
- Owner: aplbrain
- Language: Python
- Default Branch: master
- Homepage: https://aplbrain.github.io/pytri/
- Size: 37.5 MB
Statistics
- Stars: 4
- Watchers: 5
- Forks: 2
- Open Issues: 1
- Releases: 0
Topics
Metadata Files
README.md
pytri v2
A Pytri redux, using the latest available THREE.js bindings and GPU-offloaded rendering of large scenes.
WARNING: pytri is currently untested. Use at your own risk.
Installation
```shell pip install pytri
or:
pip3 install git+https://github.com/aplbrain/pytri
```
Getting Started
Let's plot some scatterplot data in 3D. In your favorite Jupyter notebook or binder application, import pytri:
python
from pytri import Figure
We can now generate some sample data:
```python import numpy as np
fig = Figure()
xs = np.random.randn(100) ys = np.random.randn(100) zs = np.random.randn(100)
fig.scatter(xs, ys, zs)
fig.show() ```

Examples
Render a NetworkX Graph
Here's a crazy dense randomly-arranged graph with over a million edges. (You'll find the slowest part of this process is just generating that graph!)
This graph renders in realtime (60FPS) in Pytri.
```python import networkx as nx g = nx.fastgnprandomgraph(50000, 0.001) pos = {k: [vv * 500 for vv in v] for k, v in nx.random_layout(g, dim=3).items()}
f = Figure() f.axes() f.graph(g, pos=pos, edgewidth=1, nodesize=10)
f.show() ```

Random color-changing edges
These edges are a different color on the left edge than on the right edge:
python
f = Figure()
f.axes()
f.lines(
# 100 lines on the interval 0-100
np.random.random((100, 2, 3)) * 100,
# 200 colors, start/stop for each line
colors=np.random.random((100, 2, 3)),
width=4
)
f.show()

Lines and an image pulled from the internet
python
f.imshow(
"https://i.imgur.com/VK8Tp5q.jpeg",
width=100, height=100,
rotation=(0, 3.14/2, 0)
)
f.show()

Rendering numpy arrays in RGB or Greyscale
python
f.scatter(np.random.randint(-50, 50, (1_00_000,3)))
f.imshow(
# 3 dimensions, interpreted as RGB
np.random.random((1000, 1000, 3)),
width=200, height=200,
rotation=(0, 3.14/2, 0)
)
f.imshow(
# 2 dimensions, interpreted as grayscale
np.random.random((1000, 1000)),
width=200, height=200,
# omitting rotation, the plane faces "up" along Z
)

One way to (cheat) render a volume
```python from pytri import Figure import intern
morgan2020 = intern.array("bossdb://morgan2020/lgn/em", resolution=2)
em_excerpt = morgan2020[1000:1050, 25000:25000+300, 25000:25000+300]
coords = [] for z in range(emexcerpt.shape[0]): for y in range(emexcerpt.shape[1]): for x in range(em_excerpt.shape[2]): coords.append((x, y, z*10))
f = Figure() f.scatter(coords, color=[[i,i,i] for i in emexcerpt.ravel()], attenuatesize=True, size=5) f.show() ```

Owner
- Name: APL BRAIN
- Login: aplbrain
- Kind: organization
- Repositories: 84
- Profile: https://github.com/aplbrain
GitHub Events
Total
Last Year
Committers
Last synced: over 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Jordan Matelsky | j****8 | 49 |
| Jordan Matelsky | j****8@g****m | 21 |
| Joe Downs | j****s@g****m | 18 |
| hpcowley | h****4@g****m | 17 |
| Miller Wilt | m****t@g****m | 3 |
| Joseph Downs | J****s@j****u | 1 |
| Raphtor | t****r@g****m | 1 |
| Ariel Rokem | a****m@g****m | 1 |
| dependabot[bot] | 4****] | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 44
- Total pull requests: 56
- Average time to close issues: 9 months
- Average time to close pull requests: 19 days
- Total issue authors: 7
- Total pull request authors: 7
- Average comments per issue: 0.98
- Average comments per pull request: 0.7
- Merged pull requests: 50
- Bot issues: 0
- Bot pull requests: 1
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- j6k4m8 (21)
- hpcowley (10)
- jtpdowns (6)
- mlw214 (3)
- vinuvargheseijk (2)
- ndrenkow (1)
- Raphtor (1)
Pull Request Authors
- j6k4m8 (19)
- hpcowley (17)
- jtpdowns (13)
- mlw214 (3)
- Raphtor (2)
- dependabot[bot] (1)
- arokem (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 19 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 9
- Total maintainers: 2
pypi.org: pytri
Pytri, redux
- Homepage: https://github.com/aplbrain/pytri
- Documentation: https://pytri.readthedocs.io/
- License: MIT License
-
Latest release: 2.0.1
published over 4 years ago
Rankings
Dependencies
- networkx *
- numpy *
- pythreejs >=2.2.1
- trimesh *
- numpy *