{"id":16715770,"url":"https://github.com/gsvgit/high-performance-graph-analysis-course","last_synced_at":"2025-10-31T11:30:49.905Z","repository":{"id":37074723,"uuid":"467899515","full_name":"gsvgit/high-performance-graph-analysis-course","owner":"gsvgit","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-22T14:08:04.000Z","size":994,"stargazers_count":0,"open_issues_count":0,"forks_count":29,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-30T00:51:08.479Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gsvgit.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}},"created_at":"2022-03-09T11:30:15.000Z","updated_at":"2022-03-09T11:30:28.000Z","dependencies_parsed_at":"2024-10-12T21:10:37.811Z","dependency_job_id":"198d81d2-8302-450d-978d-b4621fa45c40","html_url":"https://github.com/gsvgit/high-performance-graph-analysis-course","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsvgit%2Fhigh-performance-graph-analysis-course","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsvgit%2Fhigh-performance-graph-analysis-course/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsvgit%2Fhigh-performance-graph-analysis-course/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsvgit%2Fhigh-performance-graph-analysis-course/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gsvgit","download_url":"https://codeload.github.com/gsvgit/high-performance-graph-analysis-course/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238937639,"owners_count":19555378,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-10-12T21:10:33.833Z","updated_at":"2025-10-31T11:30:49.850Z","avatar_url":"https://github.com/gsvgit.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Check code style](https://github.com/JetBrains-Research/formal-lang-course/actions/workflows/code_style.yml/badge.svg)](https://github.com/JetBrains-Research/formal-lang-course/actions/workflows/code_style.yml)\n[![Code style](https://img.shields.io/badge/Code%20style-black-000000.svg)](https://github.com/psf/black)\n---\n# Курс по высокопроизводительному анализу графов\n\nКурс по высокопроизводительному анализу графов: шаблон структуры репозитория для выполнения домашних работ,\nа также материалы курса и другая сопутствующая информация.\n\nАктуальное:\n- [Таблица с текущими результатами](https://docs.google.com/spreadsheets/d/1VAfnSGd63GulSdig8TLISOXBF7MMIUm3egO4U_jdugI/edit?usp=sharing)\n- [Стиль кода как референс](https://www.python.org/dev/peps/pep-0008/)\n\nТехнологии:\n- Python 3.8+\n- Pytest для unit тестирования\n- Pygraphblas для реализации алгоритмов\n- GitHub Actions для CI\n- Сторонние пакеты из `requirements.txt` файла\n- Английский язык для документации или самодокументирующийся код\n\n## Работа с проектом\n\n- Для выполнения домашних практических работ необходимо сделать `fork` этого репозитория к себе в `GitHub`.\n- Рекомендуется установить [`pre-commit`](https://pre-commit.com/#install) для поддержания проекта в адекватном состоянии.\n  - Установить `pre-commit` можно выполнив следующую команду в корне вашего проекта:\n    ```shell\n    pre-commit install\n    ```\n  - Отформатировать код в соответствии с принятым стилем можно выполнив следующую команду в корне вашего проекта:\n    ```shell\n    pre-commit run --all-files\n    ```\n- Ссылка на свой `fork` репозитория размещается в [таблице](https://docs.google.com/spreadsheets/d/1VAfnSGd63GulSdig8TLISOXBF7MMIUm3egO4U_jdugI/edit?usp=sharing) курса с результатами.\n- В свой репозиторий необходимо добавить проверяющих с `admin` правами на чтение, редактирование и проверку `pull-request`'ов.\n\n## Домашние практические работы\n\n### Дедлайны\n\nДедлайны для каждой задачи указываются отдельно.\n\n### Выполнение домашнего задания\n\n- Каждое домашнее задание выполняется в отдельной ветке. Ветка должна иметь осмысленное консистентное название.\n- При выполнении домашнего задания в новой ветке необходимо открыть соответствующий `pull-request` в `main` вашего `fork`.\n- `Pull-request` снабдить понятным названием и описанием с соответствующими пунктами прогресса.\n- Проверка заданий осуществляется посредством `review` вашего `pull-request`.\n- Как только вы считаете, что задание выполнено, вы можете запросить `review` у проверяющего.\n  - Если `review` запрошено **до мягкого дедлайна**, то вам гарантированна дополнительная проверка (до жёсткого дедлайна), позволяющая исправить замечания до наступления жёсткого дедлайна.\n  - Если `review` запрошено **после мягкого дедлайна**, но **до жесткого дедлайна**, задание будет проверено, но нет гарантий, что вы успеете его исправить.\n- Когда проверка будет пройдена, и задание **зачтено**, его необходимо `merge` в `main` вашего `fork`.\n- Результаты выполненных заданий будут повторно использоваться в последующих домашних работах.\n\n### Получение оценки за домашнюю работу\n\n- Если ваша работа **зачтена** _до_ **жёсткого дедлайна**, то вы получаете **полный балл за домашнюю работу**.\n- Если ваша работа **зачтена** _после_ **жёсткого дедлайна**, то вы получаете **половину полного балла за домашнюю работу**.\n\n## Код\n\n- Исходный код практических задач по программированию размещайте в папке `project`.\n- Файлам и модулям даем осмысленные имена, в соответствии с официально принятым стилем.\n- Структурируем код, используем как классы, так и отдельно оформленные функции. Чем понятнее код, тем быстрее его проверять и тем больше у вас будет шансов получить полный балл.\n\n## Тесты\n\n- Тесты для домашних заданий размещайте в папке `tests`.\n- Формат именования файлов с тестами `test_[какой модуль\\класс\\функцию тестирует].py`.\n- Для работы с тестами рекомендуется использовать [`pytest`](https://docs.pytest.org/en/6.2.x/).\n- Для запуска тестов необходимо из корня проекта выполнить следующую команду:\n  ```shell\n  python ./scripts/run_tests.py\n  ```\n\n## Эксперименты\n\n- Для выполнения экспериментов потребуется не только код, но окружение и некоторая его настройка.\n- В качестве окружения используем только [`Google Colab`](https://research.google.com/colaboratory/) ноутбуки. Для его создания требуется только учетная запись `Google`.\n- Создаем ноутбук, ссылка на ноутбук также размещается в [таблице](https://docs.google.com/spreadsheets/d/1VAfnSGd63GulSdig8TLISOXBF7MMIUm3egO4U_jdugI/edit?usp=sharing) курса.\n- В `Google Colab` ноутбуке выполняется вся настройка, пишется код для экспериментов, подготовки отчетов и графиков.\n\n## Структура репозитория\n\n```text\n.\n├── .github - файлы для настройки CI и проверок\n├── docs - текстовые документы и материалы по курсу\n├── project - исходный код домашних работ\n├── scripts - вспомогательные скрипты для автоматизации разработки\n├── tasks - файлы с описанием домашних заданий\n├── tests - директория для unit-тестов домашних работ\n├── README.md - основная информация о проекте\n└── requirements.txt - зависимости для настройки репозитория\n```\n\n## Контакты\n\n- Семен Григорьев [@gsvgit](https://github.com/gsvgit)\n- Рустам Азимов [@rustam-azimov](https://github.com/rustam-azimov)\n- Екатерина Шеметова [@katyacyfra](https://github.com/katyacyfra)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsvgit%2Fhigh-performance-graph-analysis-course","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgsvgit%2Fhigh-performance-graph-analysis-course","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsvgit%2Fhigh-performance-graph-analysis-course/lists"}