Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: vpython/vpython-jupyter
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 7.6.2pre8
Choose a base ref
...
head repository: vpython/vpython-jupyter
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Jun 1, 2021

  1. Copy the full SHA
    b1c0a37 View commit details
  2. Merge pull request #158 from mwcraig/change-manylinxu-name

    Update pattern for matching manylinux wheels
    mwcraig authored Jun 1, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    4bcf563 View commit details
  3. Copy the full SHA
    96eb087 View commit details
  4. Merge pull request #159 from mwcraig/🙄

    Fix directory name for wheels
    mwcraig authored Jun 1, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    f9cc80a View commit details

Commits on Jun 2, 2021

  1. Add files via upload

    BruceSherwood authored Jun 2, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    4db3525 View commit details
  2. Merge pull request #160 from vpython/Binary-stl-convertor

    Add files via upload
    BruceSherwood authored Jun 2, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    b40e64f View commit details

Commits on Jun 4, 2021

  1. Add files via upload

    BruceSherwood authored Jun 4, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    676b0a5 View commit details
  2. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    b36657f View commit details

Commits on Jun 5, 2021

  1. Add files via upload

    BruceSherwood authored Jun 5, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    5548de9 View commit details
  2. Merge pull request #162 from vpython/BruceSherwood-minor-improvement-…

    …to-convert_stl.py
    
    Add files via upload
    BruceSherwood authored Jun 5, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    83e8b01 View commit details

Commits on Jun 22, 2021

  1. Fix extrusion bug

    BruceSherwood committed Jun 22, 2021
    Copy the full SHA
    795aca8 View commit details
  2. Merge pull request #163 from vpython/Fix-extrusion-bug

    Fix extrusion bug
    BruceSherwood authored Jun 22, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    c4a8bfd View commit details

Commits on Jun 28, 2021

  1. Fixed status badges in README

    mwcraig committed Jun 28, 2021
    Copy the full SHA
    db57911 View commit details
  2. Merge pull request #164 from vpython/my-new-branch

    Fixed status badge in README
    mwcraig authored Jun 28, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    c47d45d View commit details

Commits on Jul 19, 2021

  1. Copy the full SHA
    0fdd90b View commit details
  2. Copy the full SHA
    00dd16d View commit details

Commits on Jul 21, 2021

  1. Copy the full SHA
    2eb3511 View commit details
  2. Merge pull request #165 from 0dminnimda/improve-vpython.canvas.capture

    Improve the `capture` implementation and fix its bugs
    mwcraig authored Jul 21, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    f3a2871 View commit details
  3. Add new contributor

    mwcraig committed Jul 21, 2021
    Copy the full SHA
    8ab9b5c View commit details
  4. Add profile links

    mwcraig committed Jul 21, 2021
    1
    Copy the full SHA
    0ae9a8f View commit details
  5. Merge pull request #166 from mwcraig/update-contrib

    Add new contributor
    mwcraig authored Jul 21, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    53d57de View commit details

Commits on Jul 27, 2021

  1. Copy the full SHA
    57d621e View commit details
  2. Merge pull request #167 from vpython/Update-glow.min.js

    Mouse click documentation used the wrong "project" function
    BruceSherwood authored Jul 27, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    9c8dd39 View commit details

Commits on Jul 28, 2021

  1. Copy the full SHA
    62836e2 View commit details
  2. Merge pull request #168 from vpython/set-autoscale-correctly

    scene.pos/axis need to set scene.autoscale, not scene._autoscale
    BruceSherwood authored Jul 28, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    6b63ca9 View commit details

Commits on Aug 6, 2021

  1. Copy the full SHA
    b9435ec View commit details
  2. Merge pull request #169 from mwcraig/add-python_abi

    Add python_abi to vpython channel
    mwcraig authored Aug 6, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    598ee73 View commit details
  3. Update chron time

    mwcraig committed Aug 6, 2021
    Copy the full SHA
    ef195e7 View commit details
  4. Merge pull request #170 from mwcraig/change-copy-time

    Update chron time
    mwcraig authored Aug 6, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    b20bc7b View commit details

Commits on Aug 7, 2021

  1. Update Python versions in CI

    mwcraig committed Aug 7, 2021
    Copy the full SHA
    cf2086e View commit details
  2. Add new python math names

    mwcraig committed Aug 7, 2021
    Copy the full SHA
    cffc2e9 View commit details

Commits on Aug 9, 2021

  1. Merge pull request #171 from mwcraig/add-python3.9-pypi-build

    Update Python versions in CI
    BruceSherwood authored Aug 9, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    d379190 View commit details

Commits on Oct 8, 2021

  1. 1
    Copy the full SHA
    426eeae View commit details

Commits on Oct 11, 2021

  1. Copy the full SHA
    405062d View commit details
  2. Copy the full SHA
    cd4cac0 View commit details

Commits on Oct 12, 2021

  1. Merge pull request #174 from Axe319/version_check

    Fixed version check to encompass Python 3.10
    mwcraig authored Oct 12, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    df03576 View commit details

Commits on Nov 21, 2021

  1. Improved attach_arrow

    BruceSherwood committed Nov 21, 2021
    Copy the full SHA
    80c7917 View commit details

Commits on Nov 22, 2021

  1. attach_arrow

    BruceSherwood committed Nov 22, 2021
    Copy the full SHA
    a3a390b View commit details
  2. Merge pull request #177 from vpython/attach_arrow

    Attach arrow
    BruceSherwood authored Nov 22, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    2a73f41 View commit details

Commits on Nov 26, 2021

  1. Copy the full SHA
    393cb02 View commit details
  2. Merge pull request #178 from vpython/improve_compound

    Allow 4.2e9 vertex objects
    BruceSherwood authored Nov 26, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    e7c6770 View commit details
  3. Fix vertex rotation

    BruceSherwood committed Nov 26, 2021
    Copy the full SHA
    8465291 View commit details
  4. Merge pull request #179 from vpython/fix_vertex_rotation

    Fix vertex rotation
    BruceSherwood authored Nov 26, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    aa5765d View commit details

Commits on Nov 28, 2021

  1. Copy the full SHA
    9e26024 View commit details
  2. Drop python 3.7 test in favor of 3.10

    This does NOT mean Python 3.7 is no longer supported. Just trying to keep
    the number of builds a little reasonable.
    mwcraig committed Nov 28, 2021
    Copy the full SHA
    38c891f View commit details
  3. Copy the full SHA
    517a5fb View commit details
  4. Copy the full SHA
    02ed63f View commit details
  5. Copy the full SHA
    7ef57af View commit details
  6. Copy the full SHA
    3e3b03a View commit details

Commits on Dec 28, 2021

  1. Improved radio button

    BruceSherwood committed Dec 28, 2021
    Copy the full SHA
    13ee7c4 View commit details
Showing with 1,894 additions and 3,490 deletions.
  1. +7 −0 .github/dependabot.yml
  2. +68 −12 .github/workflows/build.yml
  3. +9 −6 .github/workflows/copy_conda_packages.yml
  4. +53 −20 .github/workflows/upload_pypi.yml
  5. +3 −0 .gitmodules
  6. +26 −17 CONTRIBUTORS.md
  7. +116 −29 Demos/ButtonsSlidersMenus2.ipynb
  8. +1 −0 Demos/CORS.ipynb
  9. +1 −0 Demos/Conch.ipynb
  10. +1 −0 Demos/ElectricMotor.ipynb
  11. +34 −23 Demos_no_notebook/ButtonsSlidersMenus.py
  12. +17 −0 Demos_no_notebook/CORS.py
  13. +47 −0 Demos_no_notebook/Color-RGB-HSV-from-terminal.py
  14. +40 −0 Demos_no_notebook/Conch.py
  15. +65 −0 Demos_no_notebook/DipoleElectricField-from-terminal.py
  16. +360 −0 Demos_no_notebook/ElectricMotor.py
  17. +56 −0 Demos_no_notebook/MousePicking-from-terminal.py
  18. BIN Demos_no_notebook/convert_stl/Part1_bin.stl
  19. +102 −85 Demos_no_notebook/convert_stl/convert_stl.py
  20. +86 −0 Demos_no_notebook/convert_stl/convert_stl_bin.py
  21. +1 −1 Demos_no_notebook/qt.py
  22. +0 −3 MANIFEST.in
  23. +2 −1 README.md
  24. +0 −485 ez_setup.py
  25. +1 −0 labextension/jupyterlab-vpython
  26. +0 −72 labextension/vpython/BuildingJlabExtension.txt
  27. +68 −43 labextension/vpython/README.md
  28. +193 −77 labextension/vpython/package.json
  29. +65 −81 labextension/vpython/src/glowcommlab.js
  30. +7 −3 labextension/vpython/src/index.ts
  31. +5 −0 labextension/vpython/style/base.css
  32. +1 −0 labextension/vpython/style/index.css
  33. +1 −0 labextension/vpython/style/index.js
  34. +8 −5 labextension/vpython/tsconfig.json
  35. +8 −0 pyproject.toml
  36. +0 −7 setup.cfg
  37. +4 −16 setup.py
  38. +0 −1,774 versioneer.py
  39. +2 −0 vp_copy.yaml
  40. +14 −22 vpython/__init__.py
  41. +12 −0 vpython/_notebook_helpers.py
  42. +0 −484 vpython/_version.py
  43. +7 −1 vpython/cyvector.pyx
  44. +0 −27 vpython/gsprint.py
  45. +74 −24 vpython/no_notebook.py
  46. +21 −2 vpython/test/test_namespace.py
  47. +1 −1 vpython/vector.py
  48. +271 −127 vpython/vpython.py
  49. +1 −1 vpython/vpython_libraries/glow.min.js
  50. +14 −17 vpython/vpython_libraries/glowcomm.html
  51. +11 −15 vpython/vpython_libraries/glowcomm.js
  52. +10 −9 vpython/with_notebook.py
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
80 changes: 68 additions & 12 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
name: Test/build

on: [push, pull_request]
on:
workflow_dispatch: # Allows manual triggering
push: # only build on pusheess to the main branch
branches:
- master
pull_request:

# Stop current actions if there is a new push to the same branch
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
@@ -9,16 +19,28 @@ jobs:
max-parallel: 4
fail-fast: false
matrix:
python-version: [3.6, 3.7, 3.8]
python-version: [3.11, 3.12]
platform: [ubuntu-latest, macos-latest, windows-latest]
# The include below adds jobs on older versions of python,
# but just on one platform. Windows is probably the most widely
# used for vpython, so test on that.
include:
- python-version: "3.8"
platform: windows-latest
- python-version: "3.9"
platform: windows-latest
- python-version: "3.10"
platform: windows-latest
runs-on: ${{ matrix.platform }}

steps:

- uses: actions/checkout@v1
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

@@ -27,7 +49,7 @@ jobs:
run: |
python -c "from pip._internal.locations import USER_CACHE_DIR; print('::set-output name=dir::' + USER_CACHE_DIR)"
- uses: actions/cache@v1
- uses: actions/cache@v4
with:
path: ${{ steps.pip-cache.outputs.dir }}
key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }}
@@ -37,15 +59,11 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest Cython wheel
- name: Build sdist
run: |
python setup.py sdist
pip install pytest Cython wheel build
- name: Build wheel
- name: Build sdist and wheel
run: |
python setup.py bdist_wheel
python -m build
- name: Install vpython
run: |
@@ -58,3 +76,41 @@ jobs:
- name: Import test
run: |
python -c "import vpython"
build_aarch64:

strategy:
fail-fast: false
matrix:
python-version: [cp38-cp38, cp39-cp39, cp310-cp310, cp311-cp311, cp312-cp312]
runs-on: ubuntu-latest
env:
py: /opt/python/${{ matrix.python-version }}/bin/python
img: quay.io/pypa/manylinux2014_aarch64

steps:

- uses: actions/checkout@v4

- name: Set up QEMU
id: qemu
uses: docker/setup-qemu-action@v3

- name: Build and Test
run: |
docker run --rm -v ${{ github.workspace }}:/ws:rw --workdir=/ws \
${{ env.img }} \
bash -exc '${{ env.py }} -m venv .env && \
source .env/bin/activate && \
echo -e "\e[1;34m Install dependencies \e[0m" && \
python -m pip install --upgrade pip && \
pip install pytest Cython wheel build && \
echo -e "\e[1;34m Build wheel \e[0m" && \
python -m build && \
echo -e "\e[1;34m Install vpython \e[0m" && \
pip install . && \
echo -e "\e[1;34m Run tests \e[0m" && \
pytest vpython && \
echo -e "\e[1;34m Import test \e[0m" && \
python -c "import vpython" && \
deactivate'
15 changes: 9 additions & 6 deletions .github/workflows/copy_conda_packages.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
on:
workflow_dispatch: # Allows manual triggering
schedule:
# Run once a day at 21:20 UTC
- cron: '20 21 * * *'
# Run once a day at 22:40 UTC
- cron: '55 22 * * *'

jobs:
copy_packages:
runs-on: ubuntu-latest
steps:

- uses: actions/checkout@v1
- name: checkout
uses: actions/checkout@v4

- uses: conda-incubator/setup-miniconda@v2
- name: Install conda
uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true
python-version: 3.7
python-version: 3.11

- name: Install dependencies
shell: bash -l {0}
@@ -25,6 +28,6 @@ jobs:
BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }}
shell: bash -l {0}
run: |
git clone git://github.com/glue-viz/conda-sync.git
git clone https://github.com/glue-viz/conda-sync.git
mv conda-sync/sync.py .
python drive_copy.py
73 changes: 53 additions & 20 deletions .github/workflows/upload_pypi.yml
Original file line number Diff line number Diff line change
@@ -11,40 +11,44 @@ jobs:
max-parallel: 4
fail-fast: false
matrix:
python-version: [3.6, 3.7, 3.8]
platform: [macos-latest, windows-latest] # No wheels on linux yet
python-version: [3.8, 3.9, '3.10', 3.11, 3.12]
platform: [macos-latest, windows-latest] # Wheels on linux below
runs-on: ${{ matrix.platform }}

steps:

- uses: actions/checkout@v1
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine Cython
pip install setuptools wheel twine Cython build
- name: Build and publish wheel
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_UPLOAD_TOKEN }}
run: |
python setup.py bdist_wheel
twine upload dist/*
python -m build
twine upload dist/*.whl
linux_wheels:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v1
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: 3.11
- name: Stable with rustfmt and clippy
uses: actions-rs/toolchain@v1
with:
@@ -55,33 +59,62 @@ jobs:
python -m pip install --upgrade pip
pip install twine
- name: Python wheels manylinux build
uses: RalfG/python-wheels-manylinux-build@v0.3.4
uses: RalfG/python-wheels-manylinux-build@v0.7.1
with:
python-versions: 'cp38-cp38 cp39-cp39 cp310-cp310 cp311-cp311 cp312-cp312'
build-requirements: 'setuptools cython setuptools_scm'
- name: Build and publish wheel
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_UPLOAD_TOKEN }}
run: |
twine upload dist/vpython-*-manylinux*.whl
linux_aarch64_wheels:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Set up QEMU
id: qemu
uses: docker/setup-qemu-action@v3
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install twine
- name: Python wheels manylinux build
uses: RalfG/python-wheels-manylinux-build@v0.4.2-manylinux2014_aarch64
with:
python-versions: 'cp36-cp36m cp37-cp37m cp38-cp38'
build-requirements: 'setuptools cython'
python-versions: 'cp38-cp38 cp39-cp39 cp310-cp310 cp311-cp311 cp312-cp312'
build-requirements: 'setuptools cython setuptools_scm'
- name: Build and publish wheel
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_UPLOAD_TOKEN }}
run: |
twine upload wheelhouse/vpython-*-manylinux1_x86_64.whl
twine upload dist/vpython-*-manylinux*.whl
sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v1
uses: actions/setup-python@v5
with:
python-version: '3.8'
python-version: '3.11'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine Cython
pip install setuptools wheel twine Cython build
- name: Build and publish
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_UPLOAD_TOKEN }}
run: |
python setup.py sdist
twine upload dist/*
python -m build
twine upload dist/*.tar.gz
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "labextension/jupyterlab-vpython"]
path = labextension/jupyterlab-vpython
url = https://github.com/jcoady/jupyterlab_vpython.git
43 changes: 26 additions & 17 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -4,11 +4,11 @@

## Core contributors

+ Bruce Sherwood (@BruceSherwood)
+ Ruth Chabay (@ruthchabay)
+ John Coady (@jcoady)
+ Matt Craig (@mwcraig)
+ Steve Spicklemire (@sspickle)
+ Bruce Sherwood ([@BruceSherwood](https://github.com/BruceSherwood))
+ Ruth Chabay ([@ruthchabay](https://github.com/ruthchabay))
+ John Coady ([@jcoady](https://github.com/jcoady))
+ Matt Craig ([@mwcraig](https://github.com/mwcraig))
+ Steve Spicklemire ([@sspickle](https://github.com/sspickle))

## Additional contributors

@@ -17,18 +17,27 @@ issues, offering improvements to the documentation or contributing code.

We are certain the list is incomplete; please let one of us know by opening an [issue on GitHub](https://github.com/vpython/vpython-jupyter/issues) and we will be happy to add your name!

+ Wayne Decatur (@fomightez)
+ Tomokazu Higuchi (@higucheese)
+ Antti Kaihola (@akaihola)
+ Patrick Melanson (@pmelanson)
+ Gopal Sharma (@Hippogriff)
+ Craig C. Wiegert (@wigie)
+ @jonschull
+ @KHALAK
+ @qazwsxedcrfvtg14
+ @russkel
+ Kyle Dunn (@kdunn926)
+ Brian Su (@brianbbsu)
+ Wayne Decatur ([@fomightez](https://github.com/fomightez))
+ Tomokazu Higuchi ([@higucheese](https://github.com/higucheese))
+ Antti Kaihola ([@akaihola](https://github.com/akaihola))
+ Patrick Melanson ([@pmelanson](https://github.com/pmelanson))
+ Gopal Sharma ([@Hippogriff](https://github.com/Hippogriff))
+ Craig C. Wiegert ([@wigie](https://github.com/wigie))
+ [@jonschull](https://github.com/jonschull)
+ [@KHALAK](https://github.com/KHALAK)
+ [@odidev](https://github.com/odidev)
+ [@qazwsxedcrfvtg14](https://github.com/qazwsxedcrfvtg14)
+ [@russkel](https://github.com/russkel)
+ Kyle Dunn ([@kdunn926](https://github.com/kdunn926))
+ Brian Su ([@brianbbsu](https://github.com/brianbbsu))
+ [@0dminnimda](https://github.com/0dminnimda)
+ Mike Miller ([@Axe319](https://github.com/axe319))
+ Danny Staple ([@dannystaple](https://github.com/dannystaple))
+ Dan Miller ([@danx0r](https://github.com/danx0r))
+ Alex Herrera ([@aherrera1721](https://github.com/aherrera1721))
+ Michał Górny ([@mgorny](https://github.com/mgorny))
+ Ryder Johnson ([@UZ9](https://github.com/UZ9))
+ Elias Alstead ([@elias-a](https://github.com/elias-a))

## Full timeline of vpython development

Loading