Pub-analyzer

Latest version: v0.4.3

Safety actively analyzes 722674 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

0.4.1

A new patch version with a solution for the validation error in open access statuses, generated by the new diamond status.

I sincerely appreciate all the comments and ideas provided. If you have any suggestions, the [discussion section](https://github.com/alejandrgaspar/pub-analyzer/discussions) is open and we'll be looking forward to hearing from you.

Added

**Work Model - New information available.**
A new open access status: `diamond`. This new level means that the work is published in a fully open journal (one that is indexed by the DOAJ or that we have determined to be open) with no article processing charges (i.e., free for both readers and authors). This information is available in the JSON and in the Report View.

- `OpenAccessStatus.Diamond`.

**Report Model - New information available.**
Same as work model.

- `OpenAccessSummary.Diamond`.

Fixed

- Validation error when processing works with the new diamond open access level.

**Full Changelog**: https://github.com/alejandrgaspar/pub-analyzer/compare/v0.4.0...v0.4.1

0.4.0

A new minor version with the most requested feature since the launch of PDF reports: **charts** :partying_face: 🎉. This is made possible by the power of Typst and its new packaging system.

In the coming weeks, new functionalities and data will be available in the models.

I sincerely appreciate all the comments and ideas provided. If you have any suggestions, the [discussion section](https://github.com/alejandrgaspar/pub-analyzer/discussions) is open and we'll be looking forward to hearing from you.

Added

- A new plot line graph in the author report PDF shows the author's citation trends.
- New graphs are included in the works summary. These include a citation metrics pie chart, a work type bar chart, and an open access status pie chart.

Changed

- Adopted the new Footer widget of Textual.

Dependencies updates

**Main dependencies.**
- Upgrade textual from 0.58.0 to 0.70.0.
- Upgrade pydantic from 2.7.1. to 2.7.4.
- Upgrade typst from 0.11.0 to 0.11.1.
- Upgrade jinja2 from 3.1.3. to 3.1.4.

**Dev dependencies.**
- Upgrade pre-commit from 3.7.0. to 3.7.1.
- Upgrade ruff from 0.4.2. to 0.4.8.
- Upgrade pytest from 8.2.0. to 8.2.2.

**Docs dependencies.**
- Upgrade mkdocstrings from 0.25.0 to 0.25.1.
- Upgrade mkdocstrings-python from 1.10.0 to 1.10.3.

**Full Changelog**: https://github.com/alejandrgaspar/pub-analyzer/compare/v0.3.0...v0.4.0

0.3.0

A new minor version with a lot of new features and new data available. Also, a lot of new documentation and improve in the code quality.

It is important that you update as soon as possible, as some **breaking changes** by the OpenAlex API will be released in the coming days, which will make previous versions unusable. But don't worry, updating is really easy. Check the [documentation we wrote about it](https://pub-analyzer.com/getting_started/#installation).

New features are on the way. The big ones :shushing_face:. I sincerely appreciate all the comments and ideas provided. If you have any suggestions, the [discussion section](https://github.com/alejandrgaspar/pub-analyzer/discussions) is open and we'll be looking forward to hearing from you.

Added

- Official support for Python 3.12.
- Lots of new documentation with examples and comments for models. Available in [Pub Analyzer docs](https://pub-analyzer.com/).
- Shortcut `CTRL+Y` to hide/show empty works in report table.
- Now the current version of Pub Analyzer is displayed at the bottom left.

**Works Model - New information available.**
All of them available in a new panel and in the JSON.

- `Keywords`.
- `Grants`.
- `Concepts`.

**Institution Model - New information available.**
Only available in the JSON.

- `International`. The institution's display name in different languages.
- `Acronyms`.
- `Counts by year`.

**Author Model - New information available.**
Only available in the JSON.

- `last_known_institutions`. List of all know institutions.

Fixed

- Loading background color.
- Sidebar animation. Now the movement should be more fluid. Except on Windows, it just refuses to work properly :melting_face:. Believe me, I was trying... for hours...

Changed

- Adopted Nested CSS.
- **Breaking change.** Droped support for `last_known_institution` field in Author model in favor of `last_known_institutions`.

Dependencies updates

**Main dependencies.**
- Upgrade textual from 0.41.0 to 0.58.0.
- Upgrade httpx from 0.25.1 to 0.27.0.
- Upgrade pydantic from 2.4.2 to 2.7.1.
- Upgrade typst from 0.8.0 to 0.11.0.
- Upgrade jinja2 from 3.1.2 to 3.1.3.

**Dev dependencies.**
- Upgrade textual-dev from 1.2.1 to 1.5.1.
- Upgrade pre-commit from 3.5.0 to 3.7.0.
- Upgrade mypy from 1.6.1 to 1.10.0.
- Upgrade ruff from 0.1.3 to 0.4.2.
- Upgrade pytest from 7.4.3 to 8.2.0.
- Upgrade respx from 0.20.2 to 0.21.1.
- Upgrade vcrpy from 5.1.0 to 6.0.1.
- Upgrade pytest-recording from 0.13.0 to 0.13.1.

**Docs dependencies.**
- Upgrade mkdocs-material from 9.4.7 to 9.5.18.
- Upgrade mkdocstrings from 0.23.0 to 0.25.0.
- Upgrade mkdocstrings-python from 1.7.3 to 1.10.0.

**Full Changelog**: https://github.com/alejandrgaspar/pub-analyzer/compare/v0.2.0...v0.3.0

0.2.0

A new minor version with a couple of new features. Notably, you can now merge reports from different OpenAlex profiles. Currently, this functionality is only available through the API, but I plan to enable it in the application as soon as I can find a good UX way to do it 😬.

Some researchers requested the ability to generate reports with a specific citations period. The new filters will make this possible :partying_face: and allow for more versatile report generation.

New features are on the way. I sincerely appreciate all the comments and insights provided. If you have any suggestions, the [discussion section](https://github.com/alejandrgaspar/pub-analyzer/discussions) is open and we'll be looking forward to hearing from you.

Added

- Now `make_author_report` allows additional profiles. With this it is possible to merge multiple Author OpenAlex entities into a unified report. This feature is not available in the app (yet), but can be used in the API.
- Analog case for the `make_institution_report` function.
- New collapsible widget for report filters with improved date suggestion.
- New `cited_from_date` and `cited_to_date` filters for reports. This allows you to obtain only the cites obtained in a range of dates.

Fixed

- Fixed date input regex validator that now differentiates between long months, short months, and February. That regex is totally worth checking out. It took me a couple of hours, but it's extremely elegant.
- Fixed buttons text align.

Changed

- Now the `make_author_report` function uses the new `FromDate` and `ToDate` types to avoid mistyping errors.
- Now authors and institutions models, uses Type Alias for the OpenAlex IDs.

Dependencies updates

**Main dependencies.**
- Upgrade textual from 0.35.1 to 0.41.0.
- Upgrade httpx from 0.24.1 to 0.25.1.
- Upgrade pydantic from 2.3.0 to 2.4.2.
- Upgrade typst from 0.7.0 to 0.8.0.

**Dev dependencies.**
- Upgrade textual-dev from 1.1.0 to 1.2.1.
- Upgrade pre-commit from 3.4.0 to 3.5.0.
- Upgrade mypy from 1.5.1 to 1.6.1.
- Upgrade ruff from 0.0.287 to 0.1.3.
- Upgrade pytest from 7.4.1 to 7.4.3.

**Docs dependencies.**
- Upgrade mkdocs from 1.5.2 to 1.5.3.
- Upgrade mkdocs-material from 9.2.8 to 9.4.7.
- Upgrade mkdocstrings-python from 1.6.1 to 1.7.3.

**Full Changelog**: https://github.com/alejandrgaspar/pub-analyzer/compare/v0.1.2...v0.2.0

0.1.2

A small update that mainly includes bug fixes and update dependencies.

Added

- Now in the reports, the authors of the works include a link to their ORCID if it is available or otherwise to their OpenAlex profile.

Fixed

- Fixed an error in the citation counters within the reports. The number of global citations used is the number provided by the OpenAlex API. The sum of the computed citations of type A and B is now used.
- Fixed a bug in documentation links.
- Fixed a scroll error in the view to export reports.
- Now the export process runs in a separate thread. This prevents the interface from freezing during the export process.

Dependencies updates
- Upgrade actions/checkout from 3 to 4.
- Upgrade mkdocs-material from 9.2.5 to 9.2.8.
- Upgrade mkdocstrings from 0.22.0 to 0.23.0.
- Upgrade mkdocstrings-python from 1.6.0 to 1.6.1.
- Upgrade pre-commit from 3.3.3 to 3.4.0.
- Upgrade pytest from 7.4.0 to 7.4.1.
- Upgrade ruff from 0.0.286 to 0.0.287.

**Full Changelog**: https://github.com/alejandrgaspar/pub-analyzer/compare/v0.1.1...v0.1.2

0.1.1

A small update that mainly includes bug fixes. New features are on the way thanks to early feedback from some researchers. I sincerely appreciate all the comments and insights provided.

Added

- Now in the reports, the abstract of the works is added.

Fixed

- Fixed bug when generating reports in which no works were found that caused the application to crash.
- HTTP errors are now handled when the OpenAlex API fails, preventing the application from crashing.

Changed

- You can now add either the start date or the end date independently when filtering reports.
- PDF reports now include the abstract of the work.

Dependencies updates
- Upgrade pytest-asyncio from 0.21.0 to 0.21.1.
- Upgrade mkdocstrings-python from 1.5.2 to 1.6.0.
- Upgrade mkdocs-material from 9.2.3 to 9.2.5.
- Upgrade textual from 0.34.0 to 0.35.1.

**Full Changelog**: https://github.com/alejandrgaspar/pub-analyzer/compare/v0.1.0...v0.1.1

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.