Skip to content

Releases: ata381/BibMedEd

BibMedEd v0.4.0 — redesign, read-only demo mode, pip install

Choose a tag to compare

@ata381 ata381 released this 30 Sep 09:48
5db2098

BibMedEd 0.4.0 is the first release published to PyPI: pip install bibmeded installs a lightweight CLI (#84), and the Python import package was renamed app -> bibmeded (#97, breaking). The frontend has a new journal-editorial redesign (#75), and a BIBMEDED_READ_ONLY mode (#81) plus a one-command local demo (#86) make it safe to explore a seeded sample without changing it. New CLI commands --version and sources come from first-time contributors @Sandro850 and @DYNOSuprovo. Also included are a fix for fresh installs on SQLAlchemy 2.1 (#76), a real-data README walkthrough GIF (#96), and the LICENSE holder correction (#77). A hosted public demo is deliberately deferred.

Added

  • Added a BIBMEDED_READ_ONLY mode that rejects every mutating request with 403 and shows a read-only banner in the UI, for safely exposing a demo (#81).
  • PyPI packaging metadata, a server optional-dependency extra (FastAPI, Celery, Redis, Postgres driver, Alembic), and a Trusted Publishing release workflow. pip install bibmeded now installs a lightweight CLI; bibmeded search --dry-run, sources and --version work without server dependencies.
  • Added bibmeded --version (#72, thanks @Sandro850).
  • Added the bibmeded sources command to list adapters and their configuration status (#71, thanks @DYNOSuprovo).
  • Added a one-command local read-only demo (bibmeded/docker-compose.demo.yml, SQLite, no Postgres/Redis/worker) and a free-plan Render Blueprint for a public demo (deploy/render-demo.yaml), see #86. The hosted public demo itself is not yet deployed.

Changed

  • Redesigned the frontend with a journal-editorial look and WCAG 2.2 fixes (#75).
  • Aligned public documentation with the shipped feature set before launch (#73), refreshed the UI screenshots (#80), and added real-data tour screenshots and a README walkthrough GIF (#96).
  • Linked the Hacktoberfest 2026 issues from the good-first-issues guide (#70) and documented the agent merge policy in CLAUDE.md (#83).
  • Corrected the copyright holder name in LICENSE (#77).
  • Dependency updates: frontend minor and patch bumps (#59, #79); Dependabot now ignores TypeScript and @types/node major versions (#74).
  • Breaking: Python import package renamed app -> bibmeded (bibmeded/app/ is now bibmeded/bibmeded/) so the wheel no longer installs a generic top-level app package. Run the server with uvicorn bibmeded.main:app and the worker with celery -A bibmeded.workers.celery_app; Celery task names are now bibmeded.workers.tasks.*, so drain queued tasks before upgrading.
  • bibmeded --version reports unknown instead of failing when the package is not installed. The bibmeded sources --json field api_key is renamed api_key_requirement (it holds required/optional/no, never a key), and the missing-setting status now comes from a shared required_setting_env_var helper instead of parsing the error message.

Fixed

  • Fixed the frontend Docker image ignoring NEXT_PUBLIC_API_URL: Next.js inlines it at build time, but the Dockerfile never declared it, so deployed frontends called http://localhost:8000 from the browser. The Dockerfile now takes it as a build argument (default http://localhost:8000).
  • Added .gitattributes forcing LF for *.sh, so scripts/entrypoint.sh no longer fails with "no such file or directory" in containers built from a Windows checkout with CRLF conversion.
  • Fixed fresh installs failing with ModuleNotFoundError: No module named 'psycopg' on SQLAlchemy 2.1, which changed the bare postgresql:// default driver to psycopg v3. BIBMEDED_DATABASE_URL values of postgres:// or postgresql:// are now normalised to postgresql+psycopg2://; explicit drivers and non-Postgres URLs are left untouched. The Docker Compose and CI URLs now name the driver explicitly.

Community

BibMedEd v0.3.0 — sample workflow and contributor improvements

Choose a tag to compare

@ata381 ata381 released this 23 Aug 19:49

Added

  • Added a deterministic, network-free synthetic sample workflow (POST /api/projects/sample) with 12 records, meaningful author/country/keyword/citation networks, screening state, and a reproducible methodology trace. Repeated requests reopen the same sample instead of creating unbounded copies.
  • Added the bibmeded search --dry-run CLI for estimating an upstream result count without fetching or persisting records (#17).
  • Added full bibmeded search execution through the existing database and Celery pipeline, including year and result-limit options (#52).
  • Added Lens.org Scholarly as the fifth built-in source, with token-based configuration, pagination, record mapping, fixture-based tests, and empty-result handling (#14).

Changed

  • Improved first-run usability with a homepage shortcut that creates the sample project and opens its analysis dashboard immediately.
  • Updated the homepage, documentation, and adapter registry to reflect all five built-in sources.
  • Clarified how newcomers claim work, how adapter auto-discovery works, and what a complete adapter contribution includes.

Fixed

  • Replaced CLI tracebacks for unknown sources and network failures with actionable stderr messages and non-zero exit codes (#50).
  • Prevented full CLI searches from polling forever when adapter construction fails.
  • Handled empty Lens.org result pages without raising an indexing error.

Security

  • Updated Next.js and its matching lint configuration from 16.2.9 to 16.3.1, then refreshed transitive dependencies so npm audit reports zero known vulnerabilities.

Community

BibMedEd v0.1.2 — Zenodo archive trigger

Choose a tag to compare

@ata381 ata381 released this 27 May 01:16

First release published after enabling Zenodo↔GitHub on this repo. Zenodo archives this tag, mints a software DOI, and assigns a concept-DOI that resolves to the latest version going forward.

No code or paper changes vs v0.1.1. Once the DOI is live, README and CITATION.cff will be updated to include the Zenodo badge and `doi:` field.

If you cite BibMedEd before the Zenodo record is live (≈2–3 minutes after this release publishes), use the v0.1.1 citation; replace with the Zenodo DOI as soon as it appears at https://zenodo.org/search?q=BibMedEd.

BibMedEd v0.1.1 — citation metadata fix

Choose a tag to compare

@ata381 ata381 released this 27 May 01:13

Patch release: wires the real ORCID (`0009-0005-4533-4594`) into `CITATION.cff`, `paper.md`, and `.zenodo.json` so the JOSS submission and the future Zenodo DOI all resolve to the same author identity.

No code changes. v0.1.0 release notes still apply — see https://github.com/ata381/BibMedEd/releases/tag/v0.1.0 for the full feature list.

If you are about to enable Zenodo↔GitHub on this repo, do it now: the next archival will pick up this tag with the correct ORCID embedded.

BibMedEd v0.1.0 — initial public release

Choose a tag to compare

@ata381 ata381 released this 27 May 01:03

First tagged release of BibMedEd, an open-source bibliometric analysis platform for medical-education research.

What ships in 0.1.0

  • Multi-database search — PubMed (NCBI E-utilities) and OpenAlex adapters, with cross-source deduplication on DOI / PMID.
  • Six analysis modules — publications over time, author productivity, country distribution, keyword co-occurrence, citation impact, journal ranking.
  • Interactive visualisations — D3.js co-authorship and keyword networks, force-directed and zoomable.
  • Reproducible methodology log — every pipeline step is recorded and exportable as a citable plain-text file for PRISMA Methods sections.
  • Standard exports — .RIS (Zotero / EndNote), .CSV, and the methodology log.
  • One-command self-host — docker compose up brings up FastAPI, Celery workers, Postgres, Redis, and the Next.js frontend.
  • One-click cloud deploy — Render.com Blueprint for the free tier.

Extensibility

A new bibliographic source is one Python file (~50 lines). See the adapter guide. Nine adapter starter issues are open and ready to claim (#6–#14).

Project infrastructure

  • CI on every PR (Python 3.12 + 3.13 backend, Next.js frontend build, Docker smoke, MkDocs --strict).
  • Issue and PR templates, Code of Conduct, security policy, public roadmap.
  • CITATION.cff and .zenodo.json so this release can be archived with a DOI (enable Zenodo↔GitHub on the repo to mint one).
  • JOSS paper draft at paper.md / paper.bib.

Contributing

The fastest path to a merged PR is writing a new source adapter — see GOOD_FIRST_ISSUES.md. Twelve starter issues are labelled good first issue.

Citing

If you use BibMedEd in research:

```bibtex
@software{bibmeded_v0_1_0,
title = {BibMedEd: Bibliometric Analysis Platform for Medical Education},
author = {Akillioglu, Ata},
year = {2026},
version = {0.1.0},
url = {https://github.com/ata381/BibMedEd}
}
```

A Zenodo DOI will replace the GitHub URL above as soon as Zenodo↔GitHub is enabled on the repo.