Tool for exporting projects from FIT CTU GitLab to GitHub
Project description
Exporter: FIT CTU GitLab to GitHub project export
Goal
Sometimes I need to export projects from FIT CTU GitLab to GitHub. It can be done manually, but for a larger amount of projects, it is very time-consuming. For example, if you finish your studies at FIT CTU, you immediately lose access to your GitLab and all of your projects (even if you continue your studies, in a meantime you lose access).
Known issues
Synchronization of big files. FIT CTU GitLab allows files bigger than 200MB to be stored. GitHub does not. Git LFS can be used instead.
Access control works differently in GitLab and GitHub
Requirements for grading
Use requests (or some asyncio alternative, such as aiohttp or httpx) for communicating with GitLab and GitHub API
Use some Python git wrapper or git directly to manipulate with cloned repositories (eg setting different upstream)
Create a command line interface, which will at least allow
Specify a list of repository names for exporting
Set policy for conflicts, eg project with the same name already exists on GitHub => overwrite
Inform user about the exporting process by terminal output and also store this information in logs
Load configuration from a file using configparser (or similar), at least allowing to use own API keys
Write tests using pytest, also allow to run them using tox
Fake both API for testing
Test internal functionality
Make it available on PyPI as a package under a free software license
Document project using docstrings in code and this README, generate Sphinx documentation via a tox environment
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for fit-ctu-gitlab-exporter-0.0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f2fcc18b9462a4cdaeed002c94ce36557eb1c5d75f76b2bb0ec0afd87e1d0c2 |
|
MD5 | 4cf9d573fd2e16bc66977213e18e466b |
|
BLAKE2b-256 | 70e88e684d5f7a47b2fe270134b362a6402fb2fc05d46f0103a20611c8d0ef35 |
Hashes for fit_ctu_gitlab_exporter-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d24a442a55ac7b839a300cc10fda633c344f0b9588002b10180055a08f8a9c16 |
|
MD5 | 8b23a15a74ec0fd092187c61ed98aa72 |
|
BLAKE2b-256 | 16a10e8bbdfe1d21b4d43de2538270631bd69ea888ad93508dcc232398bfac51 |