Security News
Introducing the Socket Python SDK
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
A simple development and rapid prototyping tool for quickly building multi-platform desktop programs and web apps.
CardStock is a cross-platform tool for quickly and easily building graphical programs, called stacks, which can be made up of multiple pages called cards. It provides a drawing-program-like editor for building Graphical User Interfaces, and a code editor for adding event-driven python code.
There have been many open source projects in the past that tried to capture the fun and simplicity of building programs in HyperCard, but in my opinion, none of them offered the open-ended possibilities and ease of use that made HyperCard such a magical-feeling tool. So in the grand open source tradition, I built my own.
The guiding principles behind my vision for CardStock are the following, in order of importance:
The prebuilt applications for Mac and Windows have no external dependencies.
Running CardStock from source requires Python 3.9 or newer (3.11 recommended), and wxPython 4.1 or newer (wxPython 4.2.x recommended).
CardStock requires installing the python modules attrdict3(linux-only), wxpython, simpleaudio, PyInstaller, and requests.
For mp3 playback support, you'll need to install the lame package (mp3 decoder), and python's streamp3.
Note that Python 3.12 is currently incompatible with released versions of wxpython, and so will not run CardStock until
wxPython receives an update.
You can either:
install python3 # Note: Python3.12 is incompatible with wxpython, so 3.11 is recommended
Linux-only: apt install libasound2-dev lame libwebkit2gtk-4.0-dev # or equivalent on non-debian/ubuntu distros
Mac-only: brew install lame
pip3 install attrdict3
pip3 install wxpython PyInstaller simpleaudio requests # note that wxpython can take a long time to build
To include mp3 support: pip3 install streamp3
(Note that this may require setting LDFLAGS and CPPFLAGS to allow finding the lame header and library files.
You may need to run this as something like
CPPFLAGS=-I/opt/homebrew/include LDFLAGS=-L/opt/homebrew/lib pip3 install streamp3
or
CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib pip3 install streamp3
depending on where the lame library was installed.)
download or clone this repository
run designer.py and viewer.py as desired
optionally run build.py to create your own standalone applications for the Designer and Viewer applications.
Linux-only: apt install libasound2-dev lame libwebkit2gtk-4.0-dev # or equivalent on non-debian/ubuntu distros
Mac-only: brew install lame
To include mp3 support: pip3 install streamp3
(Note that this may require setting LDFLAGS and CPPFLAGS to allow finding the lame header and library files.
You may need to run this as something like
CPPFLAGS=-I/opt/homebrew/include LDFLAGS=-L/opt/homebrew/lib pip3 install streamp3
or
CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib pip3 install streamp3
depending on where the lame library was installed.)
pip3 install cardstock # note that the dependency wxpython can take a very long time to build
run using the newly installed commands cardstock and cardstock_viewer
FAQs
A simple development and rapid prototyping tool for quickly building multi-platform desktop programs and web apps.
We found that cardstock demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
Security News
Floating dependency ranges in npm can introduce instability and security risks into your project by allowing unverified or incompatible versions to be installed automatically, leading to unpredictable behavior and potential conflicts.
Security News
A new Rust RFC proposes "Trusted Publishing" for Crates.io, introducing short-lived access tokens via OIDC to improve security and reduce risks associated with long-lived API tokens.