v5.12.0
OpenC3 COSMOS 5.12.0 - Full Python Support
Welcome to OpenC3 COSMOS 5.12.0!
Full Python Support
After a full summer of development, I'm happy to announce COSMOS now has full support for both the Python and Ruby programming languages! That means you can now craft custom Interfaces, Routers, Protocols, Microservices, and Scripts with which ever language you prefer! This was a huge effort with over 40,000 lines of Ruby ported to Python.
With this update all the best libraries for each language are available for your use within COSMOS. Need to do some serious math? Install NumPy and you are good to go. Have a favorite API that has a Python driver? Build a new interface that uses it directly. The sky is the limit!
New Docs Tool and IFrames
Our documentation website has been converted from Jekyll to Docusaurus... and is also now built-in as a COSMOS tool. You can now have access to all our documentation, even in offline environments. Sweet! With this change we also added the ability to run links from the Navbar as IFrames. So you can embed any other tool into COSMOS easily.
Ruby and Python Calendar API SDK
You can now easily schedule new calendar activities using the API implementation directly from Ruby or Python.
UBI8 Configuration
For our defense friends, we now have the ability to build all our containers based on UBI8 from Ironbank. Just use ./openc3.sh start-ubi, instead of ./openc3.sh start (Linux and Mac support only).
Important Bug Fixes
- Manually adding tools in the Admin Tools Tab would only allow a single tool
- Adding over 100,000 items to a single packet would cause a Stack Too Deep error
- Bucket File Retries was broken if a first attempt at a file retrieval failed
- Tool Window Modes including IFRAME were not implemented before
- Leaving COSMOS to another website, and then using the Browser back button would yield a Time out of Sync message
All Pull Requests in this Release
- Bump stefanzweifel/git-auto-commit-action from 4 to 5 by @dependabot in #862
- Remove unused APIs by @jmthomas in #855
- Python suites and packages by @ryanmelt in #859
- Python interface microservice by @jmthomas in #843
- Fix Python Logger and Pool by @ryanmelt in #868
- Bump @babel/traverse from 7.20.1 to 7.23.2 in /playwright by @dependabot in #872
- Bump @babel/traverse from 7.21.5 to 7.23.2 in /openc3-cosmos-init/plugins by @dependabot in #871
- Bump @babel/traverse from 7.22.5 to 7.23.2 in /openc3/templates/tool_react by @dependabot in #870
- Bump @babel/traverse from 7.20.1 to 7.23.2 in /openc3-cosmos-init/plugins/openc3-tool-base by @dependabot in #869
- Python testing by @jmthomas in #866
- Hash as_json handle unlimited items by @jmthomas in #876
- New docusaurus based docs website by @ryanmelt in #887
- Bump @babel/traverse from 7.23.0 to 7.23.2 in /docs.openc3.com by @dependabot in #888
- Additional Python APIs by @jmthomas in #877
- Add search to docs by @ryanmelt in #890
- Import target files in Python by @jmthomas in #886
- Bump @babel/traverse from 7.23.0 to 7.23.2 in /docs.openc3.com by @dependabot in #891
- Config api by @jmthomas in #892
- Allow using converted telemetry for UnixTimeConversion by @tsjordan-eng in #895
- Bump actions/setup-node from 3 to 4 by @dependabot in #894
- create docs tools. Implement IFRAME tool support by @ryanmelt in #901
- Python tcpip server by @jmthomas in #900
- Setting APIs docs and updates by @jmthomas in #893
- Calendar API by @jmthomas in #902
- Python timezone is utc by @jmthomas in #912
- Ubi8 by @ryanmelt in #904
- doc updates and minor fixes by @ryanmelt in #913
- Bump dependencies by @jmthomas in #914
- Navigate files by url by @jmthomas in #916
- Dependencies by @jmthomas in [#918[(https://github.com//pull/918)
Prerequisites:
Docker - Running OpenC3 requires a working Docker or Podman installation. Typically Docker Desktop on Windows / Mac. Plain Docker or Podman also works on linux. We actively develop and run with Docker Desktop on Mac/Windows, and Linux on Raspberry Pi, so if you have any issues on another platform, please let us know by submitting a ticket!
Minimum Resources allocated to Docker: 4GB RAM, 1 CPU, 80GB Disk
Recommended Resources allocated to Docker: 16GB RAM, 2+ CPUs, 100GB Disk
Also requires docker compose version 1.27+
To Run:
- git clone https://github.com/openc3/cosmos-project.git cosmos-myproject
- cd cosmos-myproject
- Run Linux/Mac: ./openc3.sh run
- Run Windows: openc3.bat run
- Connect a web browser to http://localhost:2900/
- Have fun running OpenC3 COSMOS!
Please see our documentation at https://openc3.com
Try it out and let us know what you think! Please submit any issues as Github tickets, or any generic feedback to support@openc3.com.
Thanks!
Full Changelog: Changelog