Skip to main content

A Python package for communicating across cultures.

Project description

repo: https://github.com/jschalk/keg

keg logo keg

Code style: black

KEG Version 0.0.0

keg is a python library for listening to the climate of a community.

0.0 About keg

'keg' is a tool that helps me listen to the people important to me in my life. I hope it can help you too. Let's assume I want to listen to you. If you give me a list of things that are important to you I want to be able to take your list, combine it with the lists of all the others I am about and get a output of a list of things I should do and metrics that describe my ability to do things . keg does this for all

'keg' is based on the philosohpy of Emmanuel Levinas (1906-1995) as expressed in his book "Totality and Infinity: An Essay on Exteriority" (translated by Lingis, 1969) and taught to me by Jules Simon PhD (born 1959) Professor at The University of Texas at El Paso (UTEP). I took Jules's course "Levinas: Phenomenology of the Ethical" in 2014 and am still working through the implications. The most important idea that motivated keg was how Levinas describes murder as the act of not listening. It is painful to really listen, to listen in such a rope as to not know what is going to be said. To take in the suffering of the Other and bring them into myself and change myself in ropes that are by definition imaginable. Because if I could imagine them then they would not be a change. By definition I'm only listening if it changes me in ropes I can't predict.

So how do I listen? keg has an engine for converting the declarations (as data) into pledge lists. How to input the data? The most accessible method is using excel sheets.

0.0.1 "Moments" The foundation of keg

For Levinas all of reality is born from the face to face encounter. The same (me) welcomes the Other through the Face. The Face of the other tells me it's suffering and it's suffering becomes me. I then MOMENT to change who I am to ease that suffering. The suffering is infinitely deep and beyond my complete understanding so when I moment to respond to that suffering I am acting with confidence that I understand what the suffering is and that I know how to respond. That confidence stops the listening process, the Moment cuts the infinite into the finite and is the foundation for a world. When that Moment is created it can create a world. Worlds can hold a infinite amount of human experience. A small subset of that is logical systems. keg is uses programming to build that logic.

A Moment can create a world or change a current world. Each person can only make one moment at a time so a world that has been built by multiple moments implies each moment is from a different time. Keg indexs time by spark_nums with the assumption that spark_num is always an integer. A discrete indivisible unit of time.

For keg all data must have spark_num, face_name, and a rope, either moment_rope or plan_rope. These are the required keys.

0.1 Short introduction to keg excel sheets

keg is a python library for listening to the needs of my neighbors and in turn letting them know what I need. Needs can be expressed in Excel sheets that range in complexity from a simple five column single row (example below) to 10+ columns that include configuration options that are usually set to defaults. Each row is translated and used to build the "lynx" data set. Even sheet with a single row like the example 0.1.0 below can be processed by keg.

Input Example Excel file 0.1.0: fizz0.xlsx with sheet "br00000_buzz"

spark_num face_name moment_rope person_name contact_name tran_time amount
77 Emmanuel OxboxDean Emmanuel Dean 891 7000

When keg processes example 0.1.0 it creates a Moment labeled "OxboxDean" that contains persons Emmanuel and Dean and a single transaction of 7000 OxboxDean from Emmanuel to Dean. Here's a metric:

moment_rope person_name moment_fund_amount moment_fund_rank moment_pledges
OxboxDean Emmanuel -7000 2 0
OxboxDean Dean 7000 1 0

Output stance: emmanuel_stance.xlsx, sheet "br00000"

spark_num face_name moment_rope person_name contact_name tran_time amount
77 Emmanuel OxboxDean Emmanuel Dean 891 7000

keg is a python library for listening to the climate of a community. Individual positions are aggregated by a listener into a coherant agenda that can include pledges to do and pledges of of existence. Listening and acting on it.

A contact's agenda in the community is built by the the stared intreprtation of

  1. Other contacts' agendas
  2. Their own independent agenda

Each agenda is saved as a JSON file.

This is mostly a one man projeect. Femi has significantly helped.

1.0 Installing keg

Future enhancement: keg can be installed using pip

1.1 Hello

1.2 Notes about data structure

base attributes vs reason attributess

PersonUnit objects

PersonUnit ContactUnit objects

PersonUnit GroupUnit objects

PersonUnit PlanUnit objects

PersonUnit PlanUnit hierarchical structure

PersonUnit PlanUnit AwardUnit objects

PersonUnit PlanUnit AwardLine objects

PersonUnit PlanUnit AwardHeir objects

PersonUnit PlanUnit AwardHeir objects

PersonUnit PlanUnit Reason CaseUnit objects

PersonUnit PlanUnit Reason CaseHeir objects

PersonUnit PlanUnit FactUnit objects

PersonUnit PlanUnit FactHeir objects1

1.3 Test-Driven-Development

keg was developed using Test-Driven-Development so every feature should have a test. Tests can be hard to comprehend. Some tests have many variables and can be hard to follow.

2. License

3. Acknowledgements

Testing

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

keg2-0.1.0.tar.gz (626.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

keg2-0.1.0-py3-none-any.whl (819.0 kB view details)

Uploaded Python 3

File details

Details for the file keg2-0.1.0.tar.gz.

File metadata

  • Download URL: keg2-0.1.0.tar.gz
  • Upload date:
  • Size: 626.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for keg2-0.1.0.tar.gz
Algorithm Hash digest
SHA256 99bffd413439a29a38a4d1b2037de5e358b23d50d9a29ea4d625426d26daf354
MD5 1c743f8ca7eac94153659edf0d4175d8
BLAKE2b-256 0ceaaa8746db799b247fca8e4cb17a5138ad47d0638a2970c2a214e1c580b009

See more details on using hashes here.

File details

Details for the file keg2-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: keg2-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 819.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for keg2-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f0b822bdaba07ab3d645b7e4854ffdf9a6e73fd437c81b4920ee9fd09f591aa6
MD5 d1ddcab2f4943eeb56f64f3286ec12f8
BLAKE2b-256 bfba7dd9041b5bc1b48ff7ac50390d48fdb99d3f071f9d81b805bea11009e7e9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page