sympoiesis is a set of utilities that supports inventive writing by facilitating contingent encounters with language.
- Install Python 3.
- Download or clone this repository.
- From the command line (Terminal, PowerShell, cmd.exe, etc.)
cd
into the downloaded/cloned directory. pip3 install click
python sym.py --help
python sym.py poet --help
python sym.py find --help
The commands require a code specifying the desired part(s) of speech. The program will generate a number of appropriate words as requested. Part-of-speech codes can include:
- Adjectives/adverbs -
a
- Conjunctions/prepositions -
c
- Nouns -
n
- Pronouns -
p
- Verbs -
v
- Any of the above -
x
Input for "poet" might include a string such as avnx
, which will output an adjective, verb, and noun plus one random part of speech. Input for "find" must include a single character pertaining to any category above.
If characters other than the preset values above are passed to "poet", the program will return "INVALID PART OF SPEECH" as an error code for that word, but still generate the other words.
The program prints to the console and also saves to "output.txt" (unless an alternate filename is given). Output includes one or more lines from the dictionary file, most of which contain multiple versions of each word (tenses/pluralization).
Example (interpreted/refined) outputs from "poet" can be viewed in outputs.md
The dictionary used is 2of12id from 12dicts which appears in the working directory as "dictionary.txt". If this file is moved, renamed, or edited the program will probably break or not work as intended.
The dictionary file has been pre-processed by taking the following steps in a text editor:
- find:
([A-Z])\s([^:]*):
replace:$2 $1:
(isolate POS codes to make subprograms work) - find:
^\+
replace: `` (remove+
from line beginnings to make `find` work) - find:
^-
replace: `` (remove-
from line beginnings to make `find` work)
This program used to be called autopoet. Inspiration for the name change to sympoiesis ("making with") courtesy of Donna Haraway and Abby Roche.