Skip to main content

magicwall.io

View, share, compose, edit visual, textual and acustical content and apply arbitraty effects on it.

Consider magicwall a combination of file sharing, content presentation, blogging and programmable playground. Create your own wall by just navigating to it, add content by dropping or pasting files and arbitrary data from outside, arrange it spacially and write code which can be applied to any of that content.

Other people you shared the link to your wall with can copy its content using the drag&drop or copy&paste mechanism or by using Git to clone the whole wall content.

Use it: magicwall.io

Have your own:

git clone https://projects.om-office.de/frans/magicwall.io

Have Python3.7+ and flask installed and run

magicwall.io/magicwall.py

Or use a Docker container:

magicwall.io/run-server

Visit the locally created site

Milestone 1

Requirements for basic usage as simple blogging system and for concept demonstration.

  • <magicwall.io> registered and used with https
  • Previews of files get turned into HTML elements
  • Visualization works (geometry)
  • Create element from dropping a filter element, text or images
  • Drag/drop of element inside wall area moves it
  • Drag/drop of element outside wall area copies as file
  • Drag/drop of element on remove field removes it
  • Pictures get displayed
  • Basic Markdown text formatting works
  • Basic file info on mouse hover
  • Drag/drop works on mobile
  • Basic text editing
  • Basic "filter" work (e.g. b/w for images and running python)
  • Auto-update (-> collab mode)
  • Pasting of text, image data or image files works as dropping
  • Multiple elements can be dropped/pasted at once

Milestone 2

  • User / access permission control
  • Arbitrary files can be added for sharing
  • CTRL+drag&drop copies
  • Resize elments
  • Caching mechanism
  • Square-select multiple items

Future

  • Notification on change
  • Fullscreen / slideshow mode
  • Undo-stack
  • Config-YAML
  • Filter-Hub
  • Search
  • Offline use
  • Git support
  • Editor
  • Links
  • Copy / Paste between sites
  • Video
  • Live-Update (Weather)
  • Support for folders -> Tree
  • Tree-Structure (allows entering)
  • Filter chaining/stacking

Use cases

  • Picture gallery
  • Blogging
  • Mind mapping
  • Algorithm demonstration / education (-> Jupyter)
  • File exchange
  • Note taking

Magic ideas

  • Document optimizer
  • Simple auto optimize images (contrast, etc)
  • Simple BW images
  • Polaroid images
  • Configurable Image with roation, cropping, color improvement, vignetting
  • Files to animation
  • SVG background
  • Auto align by date
  • fetch URL -> return generated HTML

License

For all code contained in this repository the rules of GPLv3 apply unless otherwise noted. That means that you can do what you want with the source code as long as you make the files with their original copyright notice and all modifications available.

See GNU / GPLv3 for details.

Contributing

Before contributing consider installing a pre-commit which runs some static checks, code cleaners and unit tests:

ln -s ../../.git-pre-commit .git/hooks/pre-commit

This pre-commit just runs ./qualitygate, which you can also run manually.

Paradigms

  • each site can be seen as a filesystem folder managed and visualized by magicwall.io. I.e. applying an arbitrary folder should give nice results magically.

Random ideas

  • Visual Filter (looks like polaroid filter and can be moved over arbitrary elements)
  • Transformer filter

Technical challenges

Feel free to help me with each of those questions

Read this

Metadata

Release files for magicwall 0.0.3

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

Source distribution (sdist)

Source distribution for magicwall 0.0.3
File Size Uploaded Provenance
magicwall-0.0.3.tar.gz 30.2 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 59.6 kB

Release files / magicwall-0.0.3.tar.gz

Download URL magicwall-0.0.3.tar.gz
Size 30.2 kB
Tags Source
SHA-256 checksum
How to use checksums
84d3bf4982749a856fd7b7b9eb403933c07e8f97157efb03f4459ffa4dfc5304
BLAKE2b-256 checksum
How to use checksums
074ecc212fc4d3a410f8276f17d5be5867ab09cff6a987f88be0e4415f5770c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.5.1 CPython/3.11.4 Linux/6.2.14-100.fc36.x86_64

Release files / magicwall-0.0.3-py3-none-any.whl

Download URL magicwall-0.0.3-py3-none-any.whl
Size 29.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
62c7e4fa68882430fb1e4feb894ab88a69f7aa88e045dea857cd28ea26e04694
BLAKE2b-256 checksum
How to use checksums
0cd3889651a32bbdfff7ad6d0c9e93b70bef1e1a0b6320fccc95a5e594d06fd3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.5.1 CPython/3.11.4 Linux/6.2.14-100.fc36.x86_64

Security for magicwall 0.0.3

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.

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