{"id":37798495,"url":"https://github.com/natenka/pyneng-examples-exercises","last_synced_at":"2026-01-16T15:23:48.436Z","repository":{"id":46301840,"uuid":"95844015","full_name":"natenka/pyneng-examples-exercises","owner":"natenka","description":"Задания и примеры из книги \"Python для сетевых инженеров\"","archived":false,"fork":false,"pushed_at":"2022-10-08T16:27:51.000Z","size":948,"stargazers_count":282,"open_issues_count":2,"forks_count":208,"subscribers_count":50,"default_branch":"master","last_synced_at":"2026-01-14T07:40:32.860Z","etag":null,"topics":["exercises","python"],"latest_commit_sha":null,"homepage":"https://pyneng.readthedocs.io/","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/natenka.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-30T03:23:19.000Z","updated_at":"2025-12-24T04:37:59.000Z","dependencies_parsed_at":"2023-01-19T17:30:44.433Z","dependency_job_id":null,"html_url":"https://github.com/natenka/pyneng-examples-exercises","commit_stats":null,"previous_names":[],"tags_count":2,"template":true,"template_full_name":null,"purl":"pkg:github/natenka/pyneng-examples-exercises","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natenka%2Fpyneng-examples-exercises","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natenka%2Fpyneng-examples-exercises/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natenka%2Fpyneng-examples-exercises/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natenka%2Fpyneng-examples-exercises/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/natenka","download_url":"https://codeload.github.com/natenka/pyneng-examples-exercises/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natenka%2Fpyneng-examples-exercises/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479409,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["exercises","python"],"created_at":"2026-01-16T15:23:47.917Z","updated_at":"2026-01-16T15:23:48.431Z","avatar_url":"https://github.com/natenka.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Задания и примеры из книги \"Python для сетевых инженеров\"\n\n[![Python 3.6](https://img.shields.io/badge/python-3.6-blue.svg)](https://www.python.org/downloads/release/python-360/) [![Python 3.7](https://img.shields.io/badge/python-3.7-blue.svg)](https://www.python.org/downloads/release/python-370/) [![Python 3.8](https://img.shields.io/badge/python-3.8-blue.svg)](https://www.python.org/downloads/release/python-380/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nВсе примеры и задания были проверены на Python 3.7 и 3.8.\n\n## Как создать свой репозиторий для выполнения заданий\n\n\u003e [Подробнее о работе с Git и Github в книге](https://pyneng.readthedocs.io/ru/latest/book/02_git_github/index.html)\n\n### Создание репозитория на GitHub\n\nДля создания своего репозитория на основе шаблона нужно:\n\n-  залогиниться на [GitHub](https://github.com/)\n-  открыть [репозиторий с заданиями](https://github.com/natenka/pyneng-examples-exercises)\n-  нажать \"Use this template\" и создать новый репозиторий на основе этого шаблона\n-  в открывшемся окне надо ввести название репозитория\n-  после этого готов новый репозиторий с копией всех файлов из исходного репозитория с заданиями\n\n![](https://raw.githubusercontent.com/natenka/PyNEng/master/images/git/github_use_template.png)\n\n### Клонирование репозитория с GitHub\n\nДля локальной работы с репозиторием его нужно клонировать.\nДля этого используется команда git clone:\n\n```\n$ git clone git@github.com:natenka/pyneng-examples-exercises.git\nCloning into 'pyneng-examples-exercises'...\nremote: Counting objects: 241, done.\nremote: Compressing objects: 100% (191/191), done.\nremote: Total 241 (delta 43), reused 239 (delta 41), pack-reused 0\nReceiving objects: 100% (241/241), 119.60 KiB | 0 bytes/s, done.\nResolving deltas: 100% (43/43), done.\nChecking connectivity... done.\n```\n\nПо сравнению с приведённой в этом листинге командой, вам нужно изменить:\n\n-  имя пользователя natenka на имя своего пользователя на GitHub;\n-  имя репозитория pyneng-examples-exercises на имя своего\n   репозитория на GitHub.\n\nВ итоге, в текущем каталоге, в котором была выполнена команда git clone,\nпоявится каталог с именем репозитория, в моём случае –\n\"pyneng-examples-exercises\". В этом каталоге теперь находится\nсодержимое репозитория на GitHub.\n\n## Виртуалки\n\nДля курса подготовлены два варианта виртуальных машин: vmware и Vagrant.\nПо ссылке есть инструкции для каждого варианта, а также инструкция по выполнению заданий на Windows:\n\n* https://pyneng.github.io/docs/course-vm/\n\n\n## Задания\n\nВ каталоге exercises находятся задания к курсу, отсортированные по разделам курса.\nКроме того, там находятся все вспомогательные файлы (конфигурации и др), которые используются в заданиях.\n\n\u003e Если в заданиях раздела есть задания с буквами (например, 5.2a), то можно выполнить сначала задания без букв, а затем с буквами. Задания с буквами, как правило, немного сложнее заданий без букв и развивают/усложняют идею в соответствующем задании без буквы.\n\u003e Например, если в разделе есть задания: 5.1, 5.2, 5.2a, 5.2b, 5.3, 5.3a.\n\u003e Сначала, можно выполнить задания 5.1, 5.2, 5.3. А затем 5.2a, 5.2b, 5.3a.\n\u003e Однако, если задания с буквами получается сделать сразу, можно делать их по порядку.\n\n## Тесты\n\nНачиная с раздела «9. Функции» для проверки заданий есть автоматические тесты. \nОни помогают проверить все ли соответствует поставленной задаче, а также дают обратный отклик по тому, \nчто не соответствует задаче. Как правило, после первого периода адаптации к тестам, становится проще делать задания с тестами.\n\n* [Как работать с тестами и основы pytest](https://pyneng.readthedocs.io/ru/latest/book/additional_info/pytest.html)\n\nДля работы тестов, у вас должны быть установлены дополнительные библиотеки Python.\nЕсли вы работаете в виртуальном окружении, то Вы можете установить все требуемые библиотеки следующим способом:  \n`pip install -r requirements.txt`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnatenka%2Fpyneng-examples-exercises","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnatenka%2Fpyneng-examples-exercises","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnatenka%2Fpyneng-examples-exercises/lists"}