Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

PyperCard - A Pythonic HyperCard for Beginner Programmers

View this repository via GitHub pages.

This project's documentation can be found here.

This project started in 2019 as a re-implementation of Adafruit's CircuitPython PYOA module, but for non-CircuitPython computing environments. It was originally written using the Kivy framework for cross-platform development. After successfully testing PyperCard for teaching and learning purposes with the wonderful young folk at the London Young Coders' Meetup, development stalled because of the COVID pandemic.

However, PyperCard is back in active development with some significant changes:

  • PyScript replaces Kivy as the underlying cross-platform framework for generating and running the user interface.
  • Nicholas, the original developer and maintainer of PyperCard, has been hired by Anaconda Inc to work on PyScript, and so his work on this project is sponsored by his employer (hence the copyright changes).
  • Ownership of the repository has been transferred to the pyscript organisation on GitHub (the old repository will automatically redirect to the new one).
  • Since this is a complete rewrite, the license has been changed from MIT to Apache2.

All the assets relating to the old version of the project can still be found in the old branch in this repository.

Developer setup

Git clone the repository:

git clone https://github.com/ntoll/pypercard.git

(Recommended) Upgrade local pip:

pip install --upgrade pip

Make a virtualenv, then install the requirements:

pip install -r requirements.txt

Most useful developer related tasks are automated by a Makefile:

$ make
There's no default Makefile target right now. Try:

make clean - reset the project and remove auto-generated assets.
make tidy - tidy up the code with the 'black' formatter.
make lint - check the code for obvious errors with flake8.
make lint-all - check all code for obvious errors with flake8.
make serve - serve the project at: http://0.0.0.0:8000/
make test - while serving the app, run the test suite in browser.
make docs - use Sphinx to create project documentation.
make dist - build the module as a package.
make publish-test - upload the package to the PyPI test instance.
make publish-live - upload the package to the PyPI LIVE instance.

To run the test suite:

$ make serve

Then visit http://localhost:8000/ and click the "Run the test suite" button, or, in another console with the code still serving, make test.

The tests should open in your browser, and pass. ;-)

Please use a width of 79 characters for source code files.

Example applications

Several example applications, demonstrating various different aspects of PyperCard can be found in the examples subdirectory of this repository.

They are, in order of complexity (simple first):

  • hello - it displays "Hello, world!" with PyperCard.
  • hello interactive - a simple interactive application that prompts users to enter their name, and click a button for a friendly greeting.
  • temperatures - convert between celsius and fahrenheit, whilst handling errors.
  • card carousel - a demonstration of automatic advance to the next card after N seconds.
  • loosey goosey - a goose based honking-as-a-service application to demonstrate PyperCard's audio capabilities.
  • turner - use the background properties of cards to display full screen images of some of Turner's paintings, to the music of Bach.
  • calculator - a simple calculator demonstrating a recursive single card app.
  • alchemyst - an atmospheric point and click adventure game in the style of the classic Myst (built using the original HyperCard).

Metadata

Release files for pypercard 0.0.1a8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pypercard 0.0.1a8
File Size Uploaded Provenance
pypercard-0.0.1a8.tar.gz 43.5 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pypercard 0.0.1a8
File Interpreter ABI Platform
pypercard-0.0.1a8-py3-none-any.whl Python 3 none any Details

Total release size: 43.6 MB

Release files / pypercard-0.0.1a8.tar.gz

Download URL pypercard-0.0.1a8.tar.gz
Size 43.5 MB
Tags Source
SHA-256 checksum
How to use checksums
7c8dfb28539ad8421cd5e807ee2bc128b4dc4a75f20f9f3faee2771eb8afed52
BLAKE2b-256 checksum
How to use checksums
9debccbd911e8dca5a2ed7c290d91935b3ad1ef4ddfa9d8564c64b4c6011369a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / pypercard-0.0.1a8-py3-none-any.whl

Download URL pypercard-0.0.1a8-py3-none-any.whl
Size 23.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b0395ff1511d90861792d3ca418927279e6cbd743b637ec2258400dad78c8f54
BLAKE2b-256 checksum
How to use checksums
7e0225a34e2b03808558dad70e588bca9bf8fe5e57d4bd3d8226b1221f0b0809
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Security for pypercard 0.0.1a8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page