Skip to main content

pyjstage2

Python 3.12 License: MIT PyPI version

Overview

J-STAGE WebAPI Wrapper for Python 3.

  • J-STAGE is an electronic journal platform for science and technology information in Japan, developed and managed by the Japan Science and Technology Agency (JST).
  • This package is a Python 3.12 compatible fork of pyjstage.

Acknowledgments

This project is modified based on matsurih/pyjstage (v0.0.2).

Special thanks to the original author @matsurih for creating this useful J-STAGE API wrapper.

What's Changed

Package Original Forked
lxml 4.4.2 >=5.0.0
requests 2.22.0 >=2.31.0
urllib3 1.25.7 >=2.0.0
certifi 2019.11.28 >=2023.0.0
  • Fixed absolute imports to relative imports
  • Fixed private method name mangling (__finish_setup_finish_setup)
  • Added __init__.py export for cleaner imports

Prerequisites

  • Python >= 3.12

Installation

$ pip install pyjstage2

Note: The distribution name is pyjstage2, but the import package remains pyjstage — kept identical to the original pyjstage so existing code works unchanged. Install with pip install pyjstage2, import with from pyjstage import Pyjstage.

Usage

Basic Usage

from pyjstage.pyjstage import Pyjstage

jstage = Pyjstage()

# Search by ISSN
ret_search = jstage.search(issn='2186-6619', count=3)

# List articles in a journal
ret_list = jstage.list(issn='2186-6619')

Accessing Results

for entry in ret_search.entries:
    print(f"Title: {entry.title}")
    print(f"Author: {entry.author.get('ja', '')}")
    print(f"Journal: {entry.material_title.get('ja', '')}")
    print(f"Year: {entry.pubyear}")
    print(f"DOI: {entry.doi}")
    print(f"Link: {entry.link}")

Search Parameters

jstage.search(
    pubyearfrom=2020,      # Search from year
    pubyearto=2024,        # Search to year
    material='journal',    # Journal name contains
    article='title',       # Article title contains
    author='name',         # Author name contains
    keyword='AI',          # Keyword contains
    issn='2186-6619',      # ISSN
    count=10               # Number of results (max 1000)
)

Important Notes

What J-STAGE API Provides

  • Literature search - Search by ISSN, keyword, author, year, etc.
  • Metadata - Title, author, journal, year, DOI, page numbers
  • Article links - Links to J-STAGE article pages

What J-STAGE API Does NOT Provide

  • Full-text PDF download - The API does not provide direct PDF downloads
  • Full-text content - The API returns metadata, not full article text

To access full-text content, use the link or doi fields to visit the publisher's website.

Changelog

v0.1.3 (2026-08-30)

  • Fix: Pyjstage.list() crashed with AttributeError when volorder was omitted — README's own example now works (same None-handling as search())
  • Fix: test suite is now runnable (pyjstage.* package imports, cwd-independent resource paths); CI actually discovers and runs all 20 tests
  • Build: migrated to PEP 621 pyproject.toml; removed setup.py, MANIFEST.in and requirements files; dropped unused dependencies (certifi, chardet, idna)
  • CI: publish workflow uses python -m build + twine check; test workflow runs on Python 3.12
  • Docs: clarified distribution name (pyjstage2) vs import name (pyjstage)

v0.1.2 (2026-06-16)

  • Fix: Null-safe XML parsing in SearchResult and ListResult — handles missing/empty XML elements without raising AttributeError
  • Fix: WARN_002 (too many results) is now treated as a warning instead of raising an error, since the API still returns valid data

v0.1.1 (2026-05-18)

  • First PyPI release as pyjstage2
  • Python 3.12 compatibility
  • Updated dependencies (lxml >=5.0, requests >=2.31, urllib3 >=2.0)

Source Code

https://github.com/lanshi17/pyjstage

License

MIT License - see LICENSE file.

Release files for pyjstage2 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyjstage2 0.1.3
File Size Uploaded
pyjstage2-0.1.3.tar.gz 13.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyjstage2 0.1.3
File Interpreter ABI Platform
pyjstage2-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 25.1 kB

Release files / pyjstage2-0.1.3.tar.gz

Download URL pyjstage2-0.1.3.tar.gz
Size 13.4 kB
Tags Source
SHA-256 checksum
How to use checksums
efad04cd0eaa687c3290e5737985fbd9a4248b196d42ff281d9e75face33c263
BLAKE2b-256 checksum
How to use checksums
eb09c999cf1a095fcc6d5780da010712db5b4c61f49b9bc8a1af30c4e1c8fc54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / pyjstage2-0.1.3-py3-none-any.whl

Download URL pyjstage2-0.1.3-py3-none-any.whl
Size 11.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b55dcf6eb51636136ac8cc71f53cc9a44c5924d2b8da5f6b244fd2e7467599cd
BLAKE2b-256 checksum
How to use checksums
3adb06818c903f8c473cef3d1cb59ae667eee631c6b5196ad845a66ebc616feb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page