{"id":26569241,"url":"https://github.com/arnobl/notebook-dir-year","last_synced_at":"2026-05-01T06:31:59.921Z","repository":{"id":282203498,"uuid":"947791276","full_name":"arnobl/notebook-dir-year","owner":"arnobl","description":"A notebook for managing a teaching year","archived":false,"fork":false,"pushed_at":"2025-03-29T10:31:28.000Z","size":824,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-02T12:31:18.105Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arnobl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-13T08:59:00.000Z","updated_at":"2025-03-29T10:31:32.000Z","dependencies_parsed_at":"2025-06-02T04:10:26.020Z","dependency_job_id":"f87d4118-e75c-48e4-b383-8000d3f18b57","html_url":"https://github.com/arnobl/notebook-dir-year","commit_stats":null,"previous_names":["arnobl/notebook-dir-year"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/arnobl/notebook-dir-year","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arnobl%2Fnotebook-dir-year","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arnobl%2Fnotebook-dir-year/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arnobl%2Fnotebook-dir-year/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arnobl%2Fnotebook-dir-year/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arnobl","download_url":"https://codeload.github.com/arnobl/notebook-dir-year/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arnobl%2Fnotebook-dir-year/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32487310,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-22T20:29:29.278Z","updated_at":"2026-05-01T06:31:59.916Z","avatar_url":"https://github.com/arnobl.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  A notebook for managing a teaching year\n\nThis notebook manages students' marks on two semesters.\nIt is generic so that ones can define their own teaching modules, exams, etc. to compute statistics per student.\n\n![](pics/example.png)\n\n\n## Installation\n\nThe notebook requires Python 3 (tested using Python 3.12, may not work using 3.13):\n`python -V` to check your version\n\n\nPython packages to install: see the first cell of the notebook.\n\n\nTo render the tables correctly, I recommend the use of VSCode with the following plugins:\n\n`Jupyter`, `Jupyter Notebook Renderers`, `Pylance`, `Python`\n\n\n## Usage\n\nTo make the notebook working with your teaching year, the main cell to edit is untitled: *Year specific variables*. It contains the description of the two semesters and some additional details to adapt.\n\nIf the name of an exam change between two years, the notebook will not be able to reuse the marks of the previous year. Your have to add them manually using the variables `other_marks_semester1` and `other_marks_semester2`. Use these variables to add or erase a mark. A mark of 30 means that the student must not do this exam (and the mark is not considered in the means).\n\nThe notebook reads CSV files of the exams, the student lists, and additional information.\nMy current folder layout (one can adapt), is:\n\n```\n2024-2025\n   examens.ipynb\n   examens/\n       The student lists CSV files\n       ranking-prev-year.csv % Provides the ranking of the students during their previous year, exported from Pegase (export each exam)\n       specificities.csv     % Specific attributes of some students\n       S5/                   % The CSV files of the exams of the first semester\n       S6/                   % The CSV files of the exams of the second semester\n   graphics/                 % Auto created. Will contain output results\n       stds/                 % Auto created. Output data related to student groups\n           indiv/            % Auto created. Output data related to each student\n../2023-2024/                % The folder of the previous year. Follow the same layout than 2024-2025. Used to grab the exams of the previous year. Not mandatory\n../../../photos/             % The pictures of each student (from the the Ksaar app). Used to build the individual tables.\n```\n\nTo get the CSV files of the student lists for each semester, go on Pegase (the `coc` application), select 'semestre' in 'Type d'objet'.\n\nThe folder `examens` in this repository contain template files for `ranking-prev-year.csv` and `specificities.csv`.\n\n## Current issues\n\nThe CSV files of exams can contain non-numerical values (e.g. 'ABS INJ') that prevent the correct loading of a CSV file. Currently, you can to manually remove those tokens from the files.\n\n\nCommun Python installation issues:\n- if you have a message like '*no module named pip*', try: `python -m ensurepip --default-pip`\n- if you have to switch between two versions of python, use `alternatives` as explained here: https://linuxconfig.org/how-to-switch-between-python-versions-on-fedora-linux\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farnobl%2Fnotebook-dir-year","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farnobl%2Fnotebook-dir-year","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farnobl%2Fnotebook-dir-year/lists"}