Database
models.py
Declaration of the DB model.
Package
Bases: Base
Table representing a Python Package registered in PyPi.
Source code in oblique/database/models.py
8 9 10 11 12 13 14 15 16 17 | |
Release
Bases: Base
Table representing a single release of a python package.
Source code in oblique/database/models.py
20 21 22 23 24 25 26 27 28 29 30 31 | |
crud.py
CRUD functions to interact with the DB.
create_package(db, pkg_name)
CRUD function to create a new Package.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
db |
Session
|
DB Session. |
required |
pkg_name |
str
|
Name of the package to create. |
required |
Returns:
| Type | Description |
|---|---|
Package
|
models.Package: Created Package. |
Source code in oblique/database/crud.py
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
create_release(db, version, date, is_yanked, package_id)
CRUD function to create a new Release.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
db |
Session
|
DB Session. |
required |
version |
str
|
Version name of this release. |
required |
date |
datetime
|
Release date. |
required |
is_yanked |
bool
|
If this release was yanked ( |
required |
package_id |
int
|
ID of the package this release is associated with. |
required |
Returns:
| Type | Description |
|---|---|
Release
|
models.Release: Created Release. |
Source code in oblique/database/crud.py
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | |
create_releases(db, releases_data, package_id)
CRUD function to create several new Releases.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
db |
Session
|
DB Session. |
required |
releases_data |
List[Tuple[str, datetime, bool]]
|
List of releases data. Each element is a tuple with the version name, the release date, and if this release is yanked or not. |
required |
package_id |
int
|
ID of the package this release is associated with. |
required |
Source code in oblique/database/crud.py
57 58 59 60 61 62 63 64 65 66 67 68 | |
create_tables()
Util function to create the DB tables.
Warning, this function should be called only if the DB tables aren't already created.
Source code in oblique/database/crud.py
11 12 13 14 15 16 17 | |
get_latest_release_of(db, db_package)
CRUD function to retrieve the latest Release of a Package.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
db |
Session
|
DB Session. |
required |
db_package |
Package
|
Package for which to get the last release date. |
required |
Returns:
| Type | Description |
|---|---|
Release
|
models.Release: Latest release for this package. |
Source code in oblique/database/crud.py
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | |
get_n_versions_of(db, db_package)
CRUD function to retrieve the number of releases of a Package.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
db |
Session
|
DB Session. |
required |
db_package |
Package
|
Package for which to get the number of versions. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
int |
int
|
The number of versions for this package. |
Source code in oblique/database/crud.py
136 137 138 139 140 141 142 143 144 145 146 147 | |
get_n_versions_yanked_of(db, db_package)
CRUD function to retrieve the number of yanked releases of a Package.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
db |
Session
|
DB Session. |
required |
db_package |
Package
|
Package for which to get the number of yanked versions. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
int |
int
|
The number of yanked versions for this package. |
Source code in oblique/database/crud.py
150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | |
get_package_by_name(db, pkg_name)
CRUD function to retrieve a Package from its name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
db |
Session
|
DB Session. |
required |
pkg_name |
str
|
Name of the package to retrieve. |
required |
Returns:
| Type | Description |
|---|---|
Package
|
models.Package: Package with the given name. |
Source code in oblique/database/crud.py
71 72 73 74 75 76 77 78 79 80 81 | |
update_package(db, db_package, releases_data)
CRUD function to update a Package (changing the last_updated
attribute).
This will simply update the last_updated field, delete all associated
releases, and recreate them from the given data.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
db |
Session
|
DB Session. |
required |
db_package |
Package
|
Package to update. |
required |
releases_data |
List[Tuple[str, datetime, bool]]
|
List of releases data. Each element is a tuple with the version name, the release date, and if this release is yanked or not. |
required |
Returns:
| Type | Description |
|---|---|
Package
|
models.Package: Package updated. |
Source code in oblique/database/crud.py
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | |