--- title: - Downloading & Uploading functions for package registry keywords: fastai sidebar: home_sidebar nb_path: "nbs/gitlab_api.ipynb" ---
{% raw %}
{% endraw %} {% raw %}
{% endraw %} {% raw %}
{% endraw %} {% raw %}

find_git_repo[source]

find_git_repo()

{% endraw %} {% raw %}
{% endraw %} {% raw %}

get_registry_api_key[source]

get_registry_api_key()

{% endraw %} {% raw %}
{% endraw %} {% raw %}

class upload_in_chunks[source]

upload_in_chunks(filename, chunksize=16384)

{% endraw %} {% raw %}

class IterableToFileAdapter[source]

IterableToFileAdapter(iterable)

{% endraw %} {% raw %}
{% endraw %} {% raw %}

write_file_to_package_registry[source]

write_file_to_package_registry(project_id, file_path, api_key, package_name, version='0.0.1')

{% endraw %} {% raw %}
{% endraw %} {% raw %}

project_id_from_name[source]

project_id_from_name(project_name, api_key, job_token=None)

{% endraw %} {% raw %}
{% endraw %} {% raw %}

get_project_id_from_project_path_unsafe[source]

get_project_id_from_project_path_unsafe(project_path)

{% endraw %} {% raw %}
{% endraw %} {% raw %}

download_package_file[source]

download_package_file(filename, project_path, package_name, out_dir=None, package_version='0.0.1', download_if_exists=False)

{% endraw %} {% raw %}
{% endraw %} {% raw %}
# todo: cleanup old package files during testing
filename = "config.json"
out_file = download_package_file(filename, "memri/finetuning-example", "plugin-model-package")
/Users/koen/.memri/projects/finetuning-example/config.json
/Users/koen/.memri/projects/finetuning-example/config.json already exists, and `download_if_exists`==False, using cached version
{% endraw %} {% raw %}

create_repo[source]

create_repo(repo_name)

{% endraw %} {% raw %}
{% endraw %} {% raw %}

get_current_username[source]

get_current_username()

{% endraw %} {% raw %}
{% endraw %} {% raw %}
def delete_project(path_or_id):
    url_escape_id = urllib.parse.quote(path_or_id, safe='')
    url = f"{GITLAB_API_BASE_URL}/projects/{url_escape_id}"
    api_key = get_registry_api_key()
    res = requests.delete(url=url, headers={"PRIVATE-TOKEN": api_key})
    if res.status_code not in [200, 201, 202]:
        raise ValueError(f"failed to delete repo:\n {res.text}")
    print(f"deleted project {path_or_id}")
{% endraw %} {% raw %}

commit_file[source]

commit_file(project_name, path_in2out, branch='main')

{% endraw %} {% raw %}
{% endraw %} {% raw %}

rm_tree[source]

rm_tree(pth)

{% endraw %} {% raw %}
{% endraw %} {% raw %}

write_files_to_git[source]

write_files_to_git(repo, target_dir)

{% endraw %} {% raw %}

create_new_project[source]

create_new_project(project_name)

{% endraw %} {% raw %}
{% endraw %} {% raw %}
repo = "test12345612345"
create_repo(repo)
# delete_project(f"{get_current_username()}/{repo}")
created project test12345612345
{% endraw %} {% raw %}
create_new_project(repo)
Created `Test12345612345` using the classifier_plugin template.
committed files ['/tmp/test/test12345612345/Dockerfile', '/tmp/test/test12345612345/metadata.json', '/tmp/test/test12345612345/README.md', '/tmp/test/test12345612345/setup.py', '/tmp/test/test12345612345/.gitignore', '/tmp/test/test12345612345/setup.cfg', '/tmp/test/test12345612345/.gitlab-ci.yml', '/tmp/test/test12345612345/LICENSE.txt', '/tmp/test/test12345612345/tools/preload.py', '/tmp/test/test12345612345/test12345612345/model.py', '/tmp/test/test12345612345/test12345612345/utils.py', '/tmp/test/test12345612345/test12345612345/plugin.py', '/tmp/test/test12345612345/test12345612345/schema.py', '/tmp/test/test12345612345/tests/test_plugin.py']
{% endraw %} {% raw %}
delete_project(f"{get_current_username()}/{repo}")
deleted project koenvanderveen/test12345612345
{% endraw %}