Git Product home page Git Product logo

Archive for Processing

Archive for Processing is an (unofficial) archive of resources for the Processing community. It collects software related to Processing, p5.js, Python mode / Processing.py, p5py, pyp5js, R Mode / Processing.R, and other related languages, modes, libraries, and tools.

It is intended to make the distributed ecosystem of open source libraries, modes, tools, example sets, and documentation a bit more robust. It does this by acting as a fallback, providing simple redundancy via a list of forked GitHub repositories and offline backup for distributed binaries. These forks and binary backups are to help guard against future project loss. In particular, given that many of the core open source resources of the Processing community are generously self-hosted by their contributing authors, the archive attempt to keep such works available even if their associated accounts, websites, et cetera are no longer maintained.

Archive for Processing may also serve as a list / index for browsing the amazing variety of Processing resources. However, this is an infrequently updated archive, not a directory -- it is not comprehensive. More importantly, it is not a live mirror! Always use original official author repositories whenever available.

This GitHub organization account approaches this goal in the following ways:

  1. Forks:

    • Maintain a list of forks of public GitHub repositories.
    • The forks are browseable from the github organization page: https://github.com/archive-for-processing
    • For projects under development or maintainence, the forks are periodically updated to their latest master commit.
    • Libraries forked from the Processing Library Template cannot be archived in this way -- they are instead available through a parallel project, Processing Forked Libraries: https://github.com/archive-for-processing/processing-forked-libraries
    • To recommend a fork, open an issue on this repo.
  2. Contributions

    • Libraries, Tools, and Modes disseminated through the PDE Contributions Manager periodically have their metadata with pointers to the latest properties files and download URLs backed up to the /data branch of this repo.
    • Binaries are periodically backed up offline. These files are not distributed through GitHub, but are archived in case an old release is lost.

This archive contains both inactive and active projects -- it includes forks of ongoing, under-development repositories. When viewing a repository in the archive, FIRST CHECK THE SOURCE REPO linked under the title, if that original source exists. The archival forks may be out-of-date, with an up-to-date version being developed by the original author or maintainer. Forks for active repositories do not automatically update -- they are snapshots that must be periodically refreshed.

Like the work of the Processing Foundation, which is developed and distributed through GitHub, Archive for Processing collections are biased towards collecting GitHub-based projects. There are software tools in the Processing ecosystem that were set up to be distributed in other ways -- either via another public repo such as Google Code, SourceForge, BitBucket, et cetera, or self-hosted. Identifying and developing a workflow to archive those resources is an ongoing effort.

The repository forks here are not maintained in any way, even if the original is no longer available. As such, they do not accept issues, comments, etc. They are available to fork for interested developers, including future volunteer maintainers.

This independent initiative is not an official project of the Processing Foundation.

Scripts

This repository contains two main scripts:

  1. contributions/contrib_archive.py

    Downloads all PDE Contributions Manager listings: Libraries, Examples, Tools, and Modes -- including disabled, if available -- as txt listings and zip files.

    • txt listings are archived in the 'data' branch, under contributions/txt
    • zip files are not stored in this repository
  2. github_fork_updater.py

    Attempts to periodically keep the master branch of all forks on all repos up-to-date on GitHub, using the API and the following sequence:

    git clone repo_url
    git remote add upstream repo.source.clone_url
    git fetch upstream
    git checkout master
    git merge upstream/master
    git push
    

Sources

The GitHub project account contains a large number of forked repos. This list is maintained through a github org account and its forks. Some of these (and some resources which are not repos, or cannot be forked) are found below in a manually updated and sorted list. Repo forks are periodically brought up to date on their master branch with github_fork_updater.py

Forks are only made of public repos. If accounts are removed, or repos are deleted, or repos are taken private, then the archive fork attempts to preserve the last public snapshot of the repo.

https://help.github.com/en/articles/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility

Deleting a public repository
When you delete a public repository, one of the existing public forks is chosen to be the new parent repository. All other repositories are forked off of this new parent and subsequent pull requests go to this new parent.

Changing a public repository to a private repository
If a public repository is made private, its public forks are split off into a new network. As with deleting a public repository, one of the existing public forks is chosen to be the new parent repository and all other repositories are forked off of this new parent. Subsequent pull requests go to this new parent.

Libraries forked from the Library Template

A key limitation is that the Processing Library Template has been forked by a number of projects. Each of these projects counts as the "same repo," and thus only one of all of them can be forked by the Archive for Processing account.

A workaround might involve iterating over an "unforkable" url list and treating as a remote for a clean repo outside the API.

Collecting

For further information on specific repos or categories of repos, see COLLECTING.md.

Archive for Processing's Projects

p5.start2d.js icon p5.start2d.js

P5.js extension for 2D static art (using px, mm, cm, inches)

p5.xr icon p5.xr

a library that enables users to turn their p5.js sketches into immersive experiences using WebXR

p5bots icon p5bots

Use your microcontroller with p5.js

p5irebase icon p5irebase

Fire Base library for Processing Enviroment

p5js-player icon p5js-player

An html widget implemented in javascript for playing p5js sketches.

p5js-screenposition icon p5js-screenposition

This function provides a solution to the missing screenX and screenY functions in p5.js. See https://github.com/processing/p5.js/issues/1553 for the discussion.

p5js-toolbar icon p5js-toolbar

p5js toolbar for atom.io with a run button to launch a local server and quick links to common resources

p5live icon p5live

p5.js collaborative live-coding vj environment!

p5recorder icon p5recorder

A light wrapper around the Media Recorder API for use with p5.js

palette icon palette

An interface with list of 854 named colors that you can import/implement into your Processing sketches

palettes icon palettes

A collection of manually compiled color palettes, packaged as a Processing library.

patchy icon patchy

Patchy provides an easy-to-use bicubic patch for 3D graphics in the Processing programming environment.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.