Draw the Circle-A anarchy symbol in your terminal
Project description
anarchy-a
----------
//-- --\
// \ \
// \ \
// // \ \
|| // \ ||
|| // \ ||
|| // \ ||
|| ------------ ||
|| // \ ||
|| // \ ||
\ // \ //
\// \//
\-- --//
----------
You didn't ask permission to draw this. Good. You never needed it.
anarchy-a draws the Circle-A -- stroke by stroke, arc by arc, in ANSI
color -- right in your terminal. Five stages. Sparks flying. Optional explosion.
Optional blood. Absolutely no rulers.
A sibling project to cool-s.
Same energy. Different symbol. Significantly more theory.
Install (no permit required)
From source:
git clone https://github.com/fourzerosix/anarchy-a.git
cd anarchy-a
make
sudo make install
Via pip (the system works for us sometimes):
pip install anarchy-a
anarchy-a
Via Docker (containerized dissent):
docker run --rm -it fourzerosix/anarchy-a
Usage
anarchy-a [OPTIONS]
-f Fast mode (no animation)
-d USECS Per-pixel delay (default: 30000)
-s SCALE Scale 1-8 (default: 2, auto-fits terminal)
-r Rainbow finale
-c, --crass Crass mode: all red, no mercy, faster
-p, --punk Punk: A breaks free of the circle, dripping red blood
-b, --bakunin Bakunin: builds it, then blows it up
-k, --kropotkin Mutual aid: two symbols meet
-n, --nogods "No gods, no masters"
--plain No color (for the truly ascetic)
-h, --help Help
anarchy-a # The full experience
anarchy-a -p # Punk graffiti mode - A explodes out, screen bleeds
anarchy-a -b # Builds then destroys
anarchy-a -k # Two symbols slide in and shake hands
anarchy-a -n # Fire. Fire. Fire.
anarchy-a -c -b # Red/explosion. No further notes.
anarchy-a -f -s 4 # Instant, large, no patience
anarchy-a -d 60000 -r # Slow drag/rainbow, for the dreamers
The Lore
Nobody asked your permission and that's the whole point
The Circle-A is a capital A - for anarchy - enclosed in a circle. It is the most universally recognized symbol of anarchism, one of the most reproduced political symbols on the planet, and almost certainly on a jacket within 50 feet of you right now. You have seen it on walls, on patches, on record sleeves, on the forearms of people your parents warned you about, and on the inside cover of at least one notebook from 1999.
You have probably drawn it yourself. This symbol wants to be drawn. It has five elements:
- Upper arc of the circle
- Lower arc of the circle
- Left leg of the A
/ - Right leg of the A
\ - The crossbar
--- always red, because F%!$ YOUR FEELINGS
Five strokes. Efficient. Defiant. No committee approved this design. No trademark was registered. No logo brief was issued. A nineteen-year-old in Paris decided the world needed a better symbol and drew one. Then everyone else drew it too. Forever.
Born in Paris, 1964 (yeah, that Paris, those 60s)
The Circle-A was invented by anarchists from the Paris Libertarian Youth group. The primary credit goes to Tomás Ibáñez, a Spanish anarchist exile, and his companion René Darras. Ibáñez was nineteen at the time, which is the perfect age to decide you're going to design the visual identity of a global political philosophy.
The motivation was embarrassingly practical: communists had the hammer and sickle, a simple, spray-can-friendly symbol you could tag in three seconds. Anarchists -- who had been around longer, had more interesting ideas, and were arguably more fun at parties - had nothing equivalent. Every time they wanted to mark their presence they basically had to write an essay on the wall.
Ibáñez laid it out plainly: they needed something that would make "practical activities of inscriptions and postings more efficient" and ensure "a broader presence of the anarchist movement in the public eye." The anarchists wanted a logo. The anticapitalists needed branding. History is full of this kind of irony and it's fine.
The symbol spread through European anarchist circles through the late 60s. Then punk happened and it went everywhere.
What does it mean? (Ask five anarchists, get six answers)
The received interpretation: the A stands for anarchy, the circle is the letter O for order, referencing Pierre-Joseph Proudhon's famous 1840 line from What Is Property?: "As man seeks justice in equality, so society seeks order in anarchy." So the symbol means: anarchy IS order, actually, you just haven't thought hard enough about it.
Ibáñez himself, in a 2024 essay on the symbol's 60th anniversary, pushed back on this. He noted that the O-for-order reading wasn't something he and his companions debated when they created the symbol - it was a retrospective interpretation that spread and stuck. He pointed to the punk variants where the A's legs extend beyond the circle as evidence that the circle-as-O reading was never the original intent.
So the official meaning is: whatever you need it to mean, right now, in this context. Which is very on-brand for a philosophy that disputes the legitimacy of central authority.
The punk chapter (this is the part that matters for our purposes)
The symbol lived largely within European anarchist circles through the late 60s and 70s. Then, in 1977, a band called Crass formed in a commune in Essex, England, and everything changed.
Crass weren't your average punk band. They lived collectively. They self-released records. They designed their own artwork - angular, confrontational, black and white. They printed their own posters. They practiced what they screamed about. And they adopted the Circle-A in red, making it the visual centerpiece of anarcho-punk's aesthetic.
Through Crass's records, gig posters, and the broader anarcho-punk network of zines and tape trades, the Circle-A went from a European activist symbol to a global shorthand for a very specific kind of pissed-off. By the early 80s it was on walls from London to São Paulo, Detroit to Tokyo. It no longer required any theoretical background to understand. It meant: I am not okay with how things are. I'm telling you directly.
That's -c / --crass: everything in red, delay cut down, moving faster. No time
for subtlety. The walls aren't going to tag themselves.
The black flag (a brief history of fabric and fury)
The Circle-A is a 1964 invention, but anarchism's relationship with symbols goes back much further. The black flag predates it by about a century.
By the early 1880s, black was already established as an anarchist color. The "Black International" name was used by a London-based anarchist group founded in 1881. But the moment that cemented it happened on March 9, 1883, in Lyon, France.
Louise Michel teacher, poet, veteran of the Paris Commune, already convicted once and sentenced to a penal colony for her role in the uprising - carried a black flag made from a rag and a broom handle through the streets in protest against hunger and poverty. When put on trial, she told the court:
"Why did we shelter the demonstration under the black flag? Because this flag is the flag of strikes and it indicates that the worker has no bread."
She got six years in prison. The black flag became the permanent symbol of anarchism.
A French anarchist paper called Le Drapeau Noir (The Black Flag) printed its first issue months later. The flag appeared in Chicago at anarchist demonstrations in 1884, described as "the fearful symbol of hunger, misery and death." Thousands marched behind it at Kropotkin's funeral in 1921. It never stopped.
The cast of characters (your field guide to the flags)
Pierre-Joseph Proudhon (1809-1865) - The first person to call himself an anarchist. Coined "property is theft" in 1840. Was subsequently unable to attend a dinner party without causing a scene. Wrote What Is Property? at 31. Had the confident beard of a man who was absolutely certain he was right.
Mikhail Bakunin (1814-1876) - "The urge to destroy is also a creative urge,"
1842. Russian. Revolutionary. Imprisoned, exiled, escaped, kept going. Feuded with
Marx for years in a conflict that was genuinely about ideas and not at all about
the fact that they had identical energies and couldn't both be in the same room.
The -b / --bakunin flag is his: the symbol is built completely, there is a
pause, and then it is destroyed in an expanding shockwave. Creative destruction.
Philosophically correct.
Peter Kropotkin (1842-1921) - Wrote Mutual Aid: A Factor of Evolution (1902),
arguing that cooperation rather than competition was the primary driver of evolutionary
success. Was a prince. Gave it up. Moved to London. Kept writing. Had the most
impressive beard in the entire history of anarchism, which is saying something.
The -k / --kropotkin flag draws two Circle-As that slide in from opposite
edges of the screen and meet in the middle -- because mutual aid, because
cooperation, because two symbols arriving alone and becoming adjacent is the
whole argument in 200 milliseconds.
Louise Michel (1830-1905) - "The Red Virgin of Montmartre." Teacher, poet, anarchist, Paris Commune commander, twice convicted, twice kept going. Carried the black flag. Never stopped. Icon. Full stop.
Crass (1977-1984) - The Essex commune punk band who painted the Circle-A red and spray-painted it onto the walls of a generation. Brought anarchist theory to kids who otherwise would have just been angry with no framework. Made it look cool to be principled. Still unavailable for reunion tours.
"No gods, no masters"
Ni Dieu ni Maître - no gods, no masters - has been attached to anarchist philosophy since at least the 1870s. It appeared as the title of Auguste Blanqui's newspaper in 1880. It spread through Kropotkin's Words of a Rebel in 1885. It appeared in the 1896 Bordeaux anarchist manifesto. Margaret Sanger used it as the slogan for her birth control newspaper The Woman Rebel in 1914. It appeared on tombstones. It appeared on a 1964 French protest song against capital punishment.
It appears on t-shirts at every record fair, vintage shop, and punk show that has ever happened.
-n / --nogods displays it as the tagline and then burns the screen down,
because some phrases deserve punctuation.
Punk mode (-p / --punk)
Punk variants of the Circle-A frequently show the A's legs extending beyond the circle - breaking free of the enclosure, refusing containment. This is the visual argument: the A doesn't need the circle's permission. The symbol exceeds its frame.
In -p mode, the A is drawn taller and wider than the circle, its peak above and
feet below the arc. After the symbol is complete, red paint starts dripping from
every lit pixel, running down the screen in streaks that pool and spread until the
whole terminal bleeds. Then it clears.
It's the most visually dramatic mode. It's also the most thematically accurate. Punk didn't stay inside the lines.
The terminal dimension
The Circle-A has been spray-painted on walls, stitched onto patches, pressed into vinyl, printed on zines, tattooed on shoulders, painted on the sides of buildings, stamped on boots, and screamed through PA systems in every city with a venue and an audience that knew the words.
It had never been drawn, arc by arc, in 5-stage animated ANSI color with a Bresenham circle algorithm, correct tangent-based character selection, optional blood drip and fire finales, and a mutual-aid handshake mode, in a Linux terminal.
Until now.
How it works
Construction
| Stage | What is drawn | Color |
|---|---|---|
| 1 | Top arc of circle | Yellow |
| 2 | Bottom arc of circle | Yellow |
| 3 | Left leg / |
Cyan |
| 4 | Right leg \ |
Magenta |
| 5 | Crossbar - |
Red |
The geometry
Square-pixel space (0..19 × 0..19), circle center (9,9), radius 8.
Terminal: col = ox + sq_x * scale * 2, row = oy + sq_y * scale.
The x2 corrects for terminal character aspect ratio.
Circle characters are chosen from the tangent direction at each point:
the tangent to a circle is perpendicular to the radius, so at point (dx,dy)
from center, tangent slope = −dx/dy. Near-zero slope → -, near-infinite → |,
positive → \, negative → /. No lookup tables, just geometry.
The finales
-b Bakunin - flash, shockwave ring, every lit pixel becomes debris with
velocity and gravity, fallout of ash. Named for Bakunin's 1842 "creative urge."
-p Punk - the A extends beyond the circle, then red paint drips from every
pixel down the screen until it floods red. Clears. Named for nothing, explained by
everything.
-n No gods - "No gods, no masters" tagline, then fire crawls up from the
bottom and burns the screen bright before dying down to ash. Named for Blanqui,
Kropotkin, Sanger, and everyone who wrote it on a wall.
-k Kropotkin - two symbols slide in from opposite sides and meet in the middle
with a small bounce, then rest adjacent. Named for Mutual Aid (1902).
Installation
git clone https://github.com/fourzerosix/anarchy-a.git
cd anarchy-a && make && sudo make install
pip install anarchy-a
docker run --rm -it fourzerosix/anarchy-a anarchy-a -p
Platform support
Linux, macOS, WSL -- full support. Needs a VT100-compatible terminal. If your terminal was built after 1990 you're fine. Windows cmd.exe -- no.
License
GNU General Public License v3.0 -- see LICENSE.
You are free to use, modify, and distribute this software under the terms of the GPL v3. If you distribute a modified version, you must also distribute the source code under the same license.
The circle-A symbol belongs to everyone and no one. That's kind of the point.
Credits
- Anarchist Symbolism -- Wikipedia
- Tomás Ibáñez, "The circled A at 60: True and false" -- Freedom News, 2024
- Crass -- the band that made it red
- Louise Michel -- carried the flag
- Peter Kropotkin, Mutual Aid -- 1902
- Mikhail Bakunin -- 1842
cool-s-- the original
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file anarchy_a-1.0.2.tar.gz.
File metadata
- Download URL: anarchy_a-1.0.2.tar.gz
- Upload date:
- Size: 35.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4962245b18b0986f3d3d47111b6881af8d09243153f143e969de8723bc289ce
|
|
| MD5 |
33d0aafd9dd7ad1e4d4d1404866ca467
|
|
| BLAKE2b-256 |
81b7ce37c134ee6210a4949a85bcc01e827b59c9a9482c8a545edfd87066ee70
|
Provenance
The following attestation bundles were made for anarchy_a-1.0.2.tar.gz:
Publisher:
python-publish.yml on fourzerosix/anarchy-a
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anarchy_a-1.0.2.tar.gz -
Subject digest:
e4962245b18b0986f3d3d47111b6881af8d09243153f143e969de8723bc289ce - Sigstore transparency entry: 1787676122
- Sigstore integration time:
-
Permalink:
fourzerosix/anarchy-a@43b1b8da043970bd16bf955c969b01a0a8ee8428 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/fourzerosix
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@43b1b8da043970bd16bf955c969b01a0a8ee8428 -
Trigger Event:
release
-
Statement type:
File details
Details for the file anarchy_a-1.0.2-py3-none-any.whl.
File metadata
- Download URL: anarchy_a-1.0.2-py3-none-any.whl
- Upload date:
- Size: 28.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca7d8ae2dd44ab79bb780a7c340d42b1459617e2402a97dd43f71a2468fe03c7
|
|
| MD5 |
e20e5a06dfbff42286a4e932b5214ac6
|
|
| BLAKE2b-256 |
3ceb2cf9ebe228d6b682ffc7d21848ebe39b853583ea1ba5ca76d96420cee35c
|
Provenance
The following attestation bundles were made for anarchy_a-1.0.2-py3-none-any.whl:
Publisher:
python-publish.yml on fourzerosix/anarchy-a
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anarchy_a-1.0.2-py3-none-any.whl -
Subject digest:
ca7d8ae2dd44ab79bb780a7c340d42b1459617e2402a97dd43f71a2468fe03c7 - Sigstore transparency entry: 1787676471
- Sigstore integration time:
-
Permalink:
fourzerosix/anarchy-a@43b1b8da043970bd16bf955c969b01a0a8ee8428 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/fourzerosix
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@43b1b8da043970bd16bf955c969b01a0a8ee8428 -
Trigger Event:
release
-
Statement type: