LICENSE
MANIFEST.in
README.md
pyproject.toml
setup.py
src/auf_deutsch/__init__.py
src/auf_deutsch/__main__.py
src/auf_deutsch/app.py
src/auf_deutsch/audio_gen.py
src/auf_deutsch/cli.py
src/auf_deutsch/content_loader.py
src/auf_deutsch/content_validation.py
src/auf_deutsch/db.py
src/auf_deutsch/learning_engine.py
src/auf_deutsch/paths.py
src/auf_deutsch/srs.py
src/auf_deutsch/template_env.py
src/auf_deutsch/validate_content.py
src/auf_deutsch.egg-info/PKG-INFO
src/auf_deutsch.egg-info/SOURCES.txt
src/auf_deutsch.egg-info/dependency_links.txt
src/auf_deutsch.egg-info/entry_points.txt
src/auf_deutsch.egg-info/requires.txt
src/auf_deutsch.egg-info/top_level.txt
src/auf_deutsch/content/curriculum.json
src/auf_deutsch/content/dialogues/adjectives_basics_d1.json
src/auf_deutsch/content/dialogues/alphabet_spelling_d1.json
src/auf_deutsch/content/dialogues/appointments_d1.json
src/auf_deutsch/content/dialogues/bakery_d1.json
src/auf_deutsch/content/dialogues/body_health_d1.json
src/auf_deutsch/content/dialogues/city_services_basics_d1.json
src/auf_deutsch/content/dialogues/classroom_study_d1.json
src/auf_deutsch/content/dialogues/clothes_basics_d1.json
src/auf_deutsch/content/dialogues/cooking_basics_d1.json
src/auf_deutsch/content/dialogues/core_prepositions_d1.json
src/auf_deutsch/content/dialogues/core_verbs_d1.json
src/auf_deutsch/content/dialogues/course_office_a2_d1.json
src/auf_deutsch/content/dialogues/daily_routine_d1.json
src/auf_deutsch/content/dialogues/dates_calendar_d1.json
src/auf_deutsch/content/dialogues/directions_basics_d1.json
src/auf_deutsch/content/dialogues/everyday_verbs_a2_d1.json
src/auf_deutsch/content/dialogues/family_basics_d1.json
src/auf_deutsch/content/dialogues/feelings_d1.json
src/auf_deutsch/content/dialogues/food_basics_d1.json
src/auf_deutsch/content/dialogues/greetings_d1.json
src/auf_deutsch/content/dialogues/help_clarify_d1.json
src/auf_deutsch/content/dialogues/hobbies_leisure_d1.json
src/auf_deutsch/content/dialogues/home_rooms_d1.json
src/auf_deutsch/content/dialogues/home_tasks_d1.json
src/auf_deutsch/content/dialogues/housing_services_d1.json
src/auf_deutsch/content/dialogues/making_plans_d1.json
src/auf_deutsch/content/dialogues/math_basics_d1.json
src/auf_deutsch/content/dialogues/modal_verbs_d1.json
src/auf_deutsch/content/dialogues/numbers_basics_d1.json
src/auf_deutsch/content/dialogues/numbers_time_d1.json
src/auf_deutsch/content/dialogues/opinions_d1.json
src/auf_deutsch/content/dialogues/payments_bank_post_a2_d1.json
src/auf_deutsch/content/dialogues/phone_texting_d1.json
src/auf_deutsch/content/dialogues/problems_d1.json
src/auf_deutsch/content/dialogues/public_services_a2_d1.json
src/auf_deutsch/content/dialogues/restaurant_cafe_d1.json
src/auf_deutsch/content/dialogues/separable_verbs_a2_d1.json
src/auf_deutsch/content/dialogues/shopping_d1.json
src/auf_deutsch/content/dialogues/small_talk_d1.json
src/auf_deutsch/content/dialogues/social_reactions_a2_d1.json
src/auf_deutsch/content/dialogues/transport_d1.json
src/auf_deutsch/content/dialogues/travel_problems_a2_d1.json
src/auf_deutsch/content/dialogues/verb_patterns_a2_d1.json
src/auf_deutsch/content/dialogues/weather_basics_d1.json
src/auf_deutsch/content/dialogues/work_basics_d1.json
src/auf_deutsch/content/grammar/a1_grammar.json
src/auf_deutsch/content/grammar/a2_grammar.json
src/auf_deutsch/content/listening/a1_clothes_shop.json
src/auf_deutsch/content/listening/a1_doctor.json
src/auf_deutsch/content/listening/a1_language_course.json
src/auf_deutsch/content/listening/a1_supermarket.json
src/auf_deutsch/content/listening/a1_train_station.json
src/auf_deutsch/content/listening/a1_weekend_plans_weather.json
src/auf_deutsch/content/listening/a2_bank_card_problem.json
src/auf_deutsch/content/listening/a2_cafe_friends.json
src/auf_deutsch/content/listening/a2_course_office.json
src/auf_deutsch/content/listening/a2_evening_plan_compromise.json
src/auf_deutsch/content/listening/a2_flatmate_call.json
src/auf_deutsch/content/listening/a2_hobby_meetup.json
src/auf_deutsch/content/listening/a2_landlord_internet.json
src/auf_deutsch/content/listening/a2_post_office_pickup.json
src/auf_deutsch/content/listening/a2_radio_event.json
src/auf_deutsch/content/listening/a2_service_counter.json
src/auf_deutsch/content/listening/a2_team_meeting.json
src/auf_deutsch/content/listening/a2_train_announcement.json
src/auf_deutsch/content/listening/a2_voicemail_appointment.json
src/auf_deutsch/content/packs/adjectives_basics.json
src/auf_deutsch/content/packs/alphabet_spelling.json
src/auf_deutsch/content/packs/appointments.json
src/auf_deutsch/content/packs/bakery.json
src/auf_deutsch/content/packs/body_health.json
src/auf_deutsch/content/packs/city_services_basics.json
src/auf_deutsch/content/packs/classroom_study.json
src/auf_deutsch/content/packs/clothes_basics.json
src/auf_deutsch/content/packs/cooking_basics.json
src/auf_deutsch/content/packs/core_prepositions.json
src/auf_deutsch/content/packs/core_verbs.json
src/auf_deutsch/content/packs/course_office_a2.json
src/auf_deutsch/content/packs/daily_routine.json
src/auf_deutsch/content/packs/dates_calendar.json
src/auf_deutsch/content/packs/directions_basics.json
src/auf_deutsch/content/packs/everyday_verbs_a2.json
src/auf_deutsch/content/packs/family_basics.json
src/auf_deutsch/content/packs/feelings.json
src/auf_deutsch/content/packs/food_basics.json
src/auf_deutsch/content/packs/greetings.json
src/auf_deutsch/content/packs/help_clarify.json
src/auf_deutsch/content/packs/hobbies_leisure.json
src/auf_deutsch/content/packs/home_rooms.json
src/auf_deutsch/content/packs/home_tasks.json
src/auf_deutsch/content/packs/housing_services.json
src/auf_deutsch/content/packs/making_plans.json
src/auf_deutsch/content/packs/math_basics.json
src/auf_deutsch/content/packs/modal_verbs.json
src/auf_deutsch/content/packs/numbers_basics.json
src/auf_deutsch/content/packs/numbers_time.json
src/auf_deutsch/content/packs/opinions.json
src/auf_deutsch/content/packs/payments_bank_post_a2.json
src/auf_deutsch/content/packs/phone_texting.json
src/auf_deutsch/content/packs/problems.json
src/auf_deutsch/content/packs/public_services_a2.json
src/auf_deutsch/content/packs/restaurant_cafe.json
src/auf_deutsch/content/packs/separable_verbs_a2.json
src/auf_deutsch/content/packs/shopping.json
src/auf_deutsch/content/packs/small_talk.json
src/auf_deutsch/content/packs/social_reactions_a2.json
src/auf_deutsch/content/packs/transport.json
src/auf_deutsch/content/packs/travel_problems_a2.json
src/auf_deutsch/content/packs/verb_patterns_a2.json
src/auf_deutsch/content/packs/weather_basics.json
src/auf_deutsch/content/packs/work_basics.json
src/auf_deutsch/content/stories/am_bahnhof.json
src/auf_deutsch/content/stories/am_wochenmarkt.json
src/auf_deutsch/content/stories/auf_der_post.json
src/auf_deutsch/content/stories/beim_arzt.json
src/auf_deutsch/content/stories/das_neue_zimmer.json
src/auf_deutsch/content/stories/der_neue_job.json
src/auf_deutsch/content/stories/der_technikertermin.json
src/auf_deutsch/content/stories/die_wohnungssuche.json
src/auf_deutsch/content/stories/die_zugreise.json
src/auf_deutsch/content/stories/ein_regnerischer_samstag.json
src/auf_deutsch/content/stories/ein_tag_mit_erledigungen.json
src/auf_deutsch/content/stories/familienbesuch.json
src/auf_deutsch/content/stories/im_buero_der_stadt.json
src/auf_deutsch/content/stories/im_cafe.json
src/auf_deutsch/content/stories/im_kochkurs.json
src/auf_deutsch/content/stories/im_sprachkurs.json
src/auf_deutsch/content/stories/im_sprachsekretariat.json
src/auf_deutsch/content/stories/in_der_stadt.json
src/auf_deutsch/content/stories/monday_morning.json
src/auf_deutsch/content/stories/wochenende_plaene.json
src/auf_deutsch/routers/__init__.py
src/auf_deutsch/routers/authoring.py
src/auf_deutsch/routers/grammar.py
src/auf_deutsch/routers/listening.py
src/auf_deutsch/routers/packs.py
src/auf_deutsch/routers/progress.py
src/auf_deutsch/routers/session.py
src/auf_deutsch/routers/stories.py
src/auf_deutsch/routers/vocabulary.py
src/auf_deutsch/static/app.js
src/auf_deutsch/static/style.css
src/auf_deutsch/templates/404.html
src/auf_deutsch/templates/authoring.html
src/auf_deutsch/templates/base.html
src/auf_deutsch/templates/complete.html
src/auf_deutsch/templates/grammar.html
src/auf_deutsch/templates/home.html
src/auf_deutsch/templates/listening.html
src/auf_deutsch/templates/pack_quiz.html
src/auf_deutsch/templates/packs.html
src/auf_deutsch/templates/phrase_detail.html
src/auf_deutsch/templates/progress.html
src/auf_deutsch/templates/session.html
src/auf_deutsch/templates/settings.html
src/auf_deutsch/templates/stories.html
src/auf_deutsch/templates/story_reader.html
src/auf_deutsch/templates/vocabulary.html
tests/test_content_validation.py
tests/test_smoke.py