Add data JSONField to LibraryVersion model
Add fields to library list admin display
Add commands to update authors and maintainers individually
Exclude data JSONField from view querysets
Silence some output from the library-version import management command
Remove unused field from the library-version import management command
Save library-versions more cleanly in the library-version import management command
Remove loading maintainers from the import command, since they now have their own command
Add docs for new commands
Add boost_setup command to run one command to import all data
Add docs on first-time data import
Better exception handling, quieter flow, reduce GH API calls
Graceful handling if there is not a github repo
Pass most recent 12 months to commit counts command
Add some user-friendly output to setup command
- Add `verbose` flag to `import_versions` to allow user to silence the output
- Removed some unused options from `import_versions`
- Moved the exclusion logic in `import_versions` to its own function
- Stop getting the `github_url` from the github API. Instead, generate it from the tag. (reason: in older tags, the best URL GitHub gives us is a less-useful one to a _commit_ and not a tag. We can generate the url, though.)
- Move the retrieval of the `release_date` to its own task, so it can be loaded async. (reason: it's a separate API call per version to get the date)
- Make `release_date` optional on the `Version` model (reason: make the field easier to load async)
- Simplify logic to retrieve `release_date` and just always retrieve it from the commit
- Stop loading the version `description` from GitHub. We don't use it on the frontend anyway, and in all but the most recent couple of versions, the `description` is the comment from the commit, which is usually not useful.
(Part of #394 and #252)
- Add method to the GitHub API class to retrieve a specific file from a repo by its tag and path (to retrieve README or adocc files)
- Add method to Library model to retrieve the description content and render it
- Fail gracefully if no content is found
- Add caching logic for redis and database caching
* WIP get old versions
* 🏦 Add URL and data dict to Version model
* 🔧 Some refactoring how we get tag data
* First pass at uploading versions
* 🔧 Move parsing logic to the parser and add tests
* Retrieve url and save json data
* Improve version upload docs
* Linter