nixbot

builds
1Sourcing python-remove-tests-dir-hook2Sourcing python-catch-conflicts-hook.sh3Sourcing python-remove-bin-bytecode-hook.sh4Sourcing pypa-build-hook5Using pypaBuildPhase6Sourcing python-runtime-deps-check-hook7Using pythonRuntimeDepsCheckHook8Sourcing pypa-install-hook9Using pypaInstallPhase10Sourcing python-imports-check-hook.sh11Using pythonImportsCheckPhase12Sourcing python-namespaces-hook13Sourcing python-catch-conflicts-hook.sh14Sourcing pytest-check-hook
unpackPhase
15unpacking source archive /nix/store/q4jxmbgh2m4sz5wx34196v8cpmy9x7vl-biorefs-cli16source root is biorefs-cli17setting SOURCE_DATE_EPOCH to timestamp 315619200 of file "biorefs-cli/tests/test_uniprot.py"
configurePhase
18no configure script, doing nothing
buildPhase
19Executing pypaBuildPhase20Creating a wheel...21pypa build flags: --no-isolation --outdir dist/ --wheel22* Getting build dependencies for wheel...23* Building wheel...24Successfully built biorefs_cli-0.1.0-py3-none-any.whl25Finished creating a wheel...26Finished executing pypaBuildPhase
pythonRuntimeDepsCheckHook
27Executing pythonRuntimeDepsCheck28Checking runtime dependencies for biorefs_cli-0.1.0-py3-none-any.whl29Finished executing pythonRuntimeDepsCheck
installPhase
30Executing pypaInstallPhase31Successfully installed biorefs_cli-0.1.0-py3-none-any.whl32Finished executing pypaInstallPhase
pythonOutputDistPhase
33Executing pythonOutputDistPhase34Finished executing pythonOutputDistPhase
fixupPhase
35shrinking RPATHs of ELF executables and libraries in /nix/store/qrjfb9k71g87b1ipx3iwb051yjq5b7dp-biorefs-cli-0.1.036checking for references to /build/ in /nix/store/qrjfb9k71g87b1ipx3iwb051yjq5b7dp-biorefs-cli-0.1.0...37patching script interpreter paths in /nix/store/qrjfb9k71g87b1ipx3iwb051yjq5b7dp-biorefs-cli-0.1.038stripping (with command strip and flags -S -p) in /nix/store/qrjfb9k71g87b1ipx3iwb051yjq5b7dp-biorefs-cli-0.1.0/lib /nix/store/qrjfb9k71g87b1ipx3iwb051yjq5b7dp-biorefs-cli-0.1.0/bin39shrinking RPATHs of ELF executables and libraries in /nix/store/d1qs99nvraiix2phmknf025hfv0lgms9-biorefs-cli-0.1.0-dist40checking for references to /build/ in /nix/store/d1qs99nvraiix2phmknf025hfv0lgms9-biorefs-cli-0.1.0-dist...41patching script interpreter paths in /nix/store/d1qs99nvraiix2phmknf025hfv0lgms9-biorefs-cli-0.1.0-dist42Rewriting #!/nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6/bin/python3.14 to #!/nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.643wrapping `/nix/store/qrjfb9k71g87b1ipx3iwb051yjq5b7dp-biorefs-cli-0.1.0/bin/biorefs-cli'...44Executing pythonRemoveTestsDir45Finished executing pythonRemoveTestsDir
installCheckPhase
4647 files already formatted47RUF100 [*] Unused `noqa` directive (non-enabled: `S314`)48 --> biorefs_cli/commands/paper.py:441:3749 |50439 | if not xml_text.strip():51440 | return []52441 | root = ET.fromstring(xml_text) # noqa: S314 - NCBI/PubMed XML; no defusedxml dependency.53 | ^^^^^^^^^^^^54442 | return [55443 | parse_pubmed_article(article, include)56 |57help: Remove unused `noqa` directive58 |59440 | return []60 - root = ET.fromstring(xml_text) # noqa: S314 - NCBI/PubMed XML; no defusedxml dependency.61441 + root = ET.fromstring(xml_text)62442 | return [63 |6465RUF100 [*] Unused `noqa` directive (non-enabled: `S314`)66 --> biorefs_cli/commands/paper.py:621:3767 |68619 | if not xml_text.strip():69620 | return unavailable("pmc:empty-response")70621 | root = ET.fromstring(xml_text) # noqa: S314 - NCBI/PMC XML; no defusedxml dependency.71 | ^^^^^^^^^^^^72622 | article = root if strip_ns(root.tag) == "article" else first(root, "article")73623 | if article is None:74 |75help: Remove unused `noqa` directive76 |77620 | return unavailable("pmc:empty-response")78 - root = ET.fromstring(xml_text) # noqa: S314 - NCBI/PMC XML; no defusedxml dependency.79621 + root = ET.fromstring(xml_text)80622 | article = root if strip_ns(root.tag) == "article" else first(root, "article")81 |8283RUF100 [*] Unused `noqa` directive (non-enabled: `S602`)84 --> biorefs_cli/config.py:101:3885 |86 99 | def run_secret_command(command: str, *, timeout_seconds: int) -> str:87100 | try:88101 | completed = subprocess.run( # noqa: S602 - config intentionally stores shell commands.89 | ^^^^^^^^^^^^90102 | command,91103 | shell=True,92 |93help: Remove unused `noqa` directive94 |95100 | try:96 - completed = subprocess.run( # noqa: S602 - config intentionally stores shell commands.97101 + completed = subprocess.run(98102 | command,99 |100101I001 [*] Import block is un-sorted or un-formatted102 --> tests/test_assay.py:1:1103 |104 1 | / from __future__ import annotations105 2 | |106 3 | | from typing import TYPE_CHECKING, cast107 4 | |108 5 | | import pytest109 6 | | from biorefs_cli.commands.assay import (110 7 | | PubChemAssayClient,111 8 | | handle_http_error,112 9 | | parse_assay_description,11310 | | parse_concise_activity,11411 | | parse_include,11512 | | )11613 | | from biorefs_cli.errors import RateLimitError11714 | | from biorefs_cli.http import HttpClient, JsonObject, JsonValue11815 | | from biorefs_cli.main import main119 | |_________________________________^12016 |12117 | if TYPE_CHECKING:122 |123help: Organize imports124 |1255 | import pytest1266 +1277 | from biorefs_cli.commands.assay import (128 |129130I001 [*] Import block is un-sorted or un-formatted131 --> tests/test_compound.py:1:1132 |133 1 | / from __future__ import annotations134 2 | |135 3 | | from typing import TYPE_CHECKING136 4 | |137 5 | | import pytest138 6 | | from biorefs_cli.commands import compound139 7 | | from biorefs_cli.errors import CLIError140 8 | | from biorefs_cli.main import build_parser141 | |_________________________________________^142 9 |14310 | if TYPE_CHECKING:144 |145help: Organize imports146 |1475 | import pytest1486 +1497 | from biorefs_cli.commands import compound150 |151152I001 [*] Import block is un-sorted or un-formatted153 --> tests/test_core_helpers.py:1:1154 |155 1 | / from __future__ import annotations156 2 | |157 3 | | import json158 4 | | import stat159 5 | | from typing import TYPE_CHECKING160 6 | |161 7 | | import pytest162 8 | | from biorefs_cli.config import (163 9 | | Config,16410 | | check_configured_secrets,16511 | | config_to_public_dict,16612 | | load_config,16713 | | merge_config,16814 | | run_secret_command,16915 | | write_config,17016 | | )17117 | | from biorefs_cli.errors import (17218 | | ConfigError,17319 | | CredentialCheckError,17420 | | HTTPError,17521 | | RateLimitError,17622 | | )17723 | | from biorefs_cli.http import HttpClient, HttpResponse, RetryPolicy17824 | | from biorefs_cli.output import escape_cell, markdown_heading, markdown_table, print_json17925 | | from biorefs_cli.rate_limit import RateLimitPolicy180 | |__________________________________________________^18126 |18227 | if TYPE_CHECKING:183 |184help: Organize imports185 |1867 | import pytest1878 +1889 | from biorefs_cli.config import (189 |190191I001 [*] Import block is un-sorted or un-formatted192 --> tests/test_gene.py:1:1193 |194 1 | / from __future__ import annotations195 2 | |196 3 | | import json197 4 | | from typing import cast198 5 | | from urllib.parse import parse_qs, urlparse199 6 | |200 7 | | import pytest201 8 | | from biorefs_cli.commands import gene202 9 | | from biorefs_cli.config import Config20310 | | from biorefs_cli.errors import CLIError, RateLimitError20411 | | from biorefs_cli.http import HttpClient, HttpResponse, JsonObject, RetryPolicy20512 | | from biorefs_cli.main import build_parser, main20613 | | from biorefs_cli.ncbi_client import NCBIClient20714 | | from biorefs_cli.rate_limit import RateLimiter208 | |______________________________________________^20915 |21016 | GENE_SUMMARY: JsonObject = {211 |212help: Organize imports213 |2147 | import pytest2158 +2169 | from biorefs_cli.commands import gene217 |218219I001 [*] Import block is un-sorted or un-formatted220 --> tests/test_http_post.py:1:1221 |2221 | / from __future__ import annotations2232 | |2243 | | import json2254 | |2265 | | import pytest2276 | | from biorefs_cli.errors import HTTPError2287 | | from biorefs_cli.http import HttpClient, HttpResponse, RetryPolicy229 | |__________________________________________________________________^230help: Organize imports231 |2325 | import pytest2336 +2347 | from biorefs_cli.errors import HTTPError235 |236237I001 [*] Import block is un-sorted or un-formatted238 --> tests/test_ncbi_command.py:1:1239 |240 1 | / from __future__ import annotations241 2 | |242 3 | | import json243 4 | | import shlex244 5 | | import sys245 6 | | import urllib.parse246 7 | | from typing import TYPE_CHECKING247 8 | |248 9 | | import pytest24910 | | from biorefs_cli.commands import ncbi25011 | | from biorefs_cli.config import Config25112 | | from biorefs_cli.http import HttpClient, HttpResponse, RetryPolicy25213 | | from biorefs_cli.main import build_parser, main25314 | | from biorefs_cli.ncbi_client import NCBIClient25415 | | from biorefs_cli.rate_limit import RateLimiter, RateLimitPolicy255 | |_______________________________________________________________^25616 |25717 | if TYPE_CHECKING:258 |259help: Organize imports260 |2619 | import pytest26210 +26311 | from biorefs_cli.commands import ncbi264 |265266I001 [*] Import block is un-sorted or un-formatted267 --> tests/test_ncbi_extra.py:1:1268 |269 1 | / from __future__ import annotations270 2 | |271 3 | | import argparse272 4 | | from typing import TYPE_CHECKING, cast273 5 | |274 6 | | import pytest275 7 | | from biorefs_cli.commands import ncbi276 8 | | from biorefs_cli.errors import CLIError277 | |_______________________________________^278 9 |27910 | if TYPE_CHECKING:280 |281help: Organize imports282 |2836 | import pytest2847 +2858 | from biorefs_cli.commands import ncbi286 |287288I001 [*] Import block is un-sorted or un-formatted289 --> tests/test_nucleotide.py:3:1290 |291 1 | """Nucleotide command tests."""292 2 |293 3 | / from __future__ import annotations294 4 | |295 5 | | import json296 6 | | from typing import cast297 7 | | from urllib.parse import parse_qs, urlparse298 8 | |299 9 | | import pytest30010 | | from biorefs_cli.commands import nucleotide30111 | | from biorefs_cli.config import Config30212 | | from biorefs_cli.errors import CLIError, RateLimitError30313 | | from biorefs_cli.http import HttpClient, HttpResponse, JsonObject30414 | | from biorefs_cli.main import build_parser, main30515 | | from biorefs_cli.ncbi_client import NCBIClient306 | |______________________________________________^307help: Organize imports308 |3099 | import pytest31010 +31111 | from biorefs_cli.commands import nucleotide312 |313314I001 [*] Import block is un-sorted or un-formatted315 --> tests/test_openalex.py:1:1316 |317 1 | / from __future__ import annotations318 2 | |319 3 | | import argparse320 4 | | from typing import TYPE_CHECKING, cast321 5 | |322 6 | | import pytest323 7 | | from biorefs_cli.commands import openalex324 8 | | from biorefs_cli.config import Config325 9 | | from biorefs_cli.http import HttpClient326 | |_______________________________________^32710 |32811 | if TYPE_CHECKING:329 |330help: Organize imports331 |3326 | import pytest3337 +3348 | from biorefs_cli.commands import openalex335 |336337I001 [*] Import block is un-sorted or un-formatted338 --> tests/test_paper.py:9:1339 |340 7 | from collections.abc import Sequence341 8 |342 9 | / import pytest34310 | | from biorefs_cli.commands.paper import (34411 | | PaperClient,34512 | | PaperInputError,34613 | | cmd_convert,34714 | | one_identifier,34815 | | parse_jats_xml,34916 | | parse_pubmed_xml,35017 | | )35118 | | from biorefs_cli.errors import RateLimitError35219 | | from biorefs_cli.main import main353 | |_________________________________^35420 |35521 | PUBMED_XML = """356 |357help: Organize imports358 |3599 | import pytest36010 +36111 | from biorefs_cli.commands.paper import (362 |363364I001 [*] Import block is un-sorted or un-formatted365 --> tests/test_paper_extra.py:1:1366 |367 1 | / from __future__ import annotations368 2 | |369 3 | | import argparse370 4 | | from typing import Any, cast371 5 | |372 6 | | import pytest373 7 | | from biorefs_cli.commands.paper import (374 8 | | PaperClient,375 9 | | PaperInputError,37610 | | bibtex,37711 | | cmd_cite,37812 | | cmd_fulltext,37913 | | cmd_related,38014 | | crossref_year,38115 | | europepmc_unavailable,38216 | | fetch_record,38317 | | format_citation,38418 | | normalize_crossref_work,38519 | | normalize_doi,38620 | | normalize_idconv,38721 | | normalize_identifier,38822 | | normalize_pmcid,38923 | | normalize_pmid,39024 | | parse_include,39125 | | parse_jats_xml,39226 | | parse_sections,39327 | | print_convert,39428 | | print_fetch,39529 | | print_fulltext,39630 | | print_related,39731 | | print_search,39832 | | ris,39933 | | source_urls,40034 | | strict_validate,40135 | | unavailable,40236 | | )40337 | | from biorefs_cli.errors import HTTPError404 | |________________________________________^40538 |40639 | MINIMAL_PUBMED_XML = """407 |408help: Organize imports409 |4106 | import pytest4117 +4128 | from biorefs_cli.commands.paper import (413 |414415I001 [*] Import block is un-sorted or un-formatted416 --> tests/test_protein.py:1:1417 |418 1 | / from __future__ import annotations419 2 | |420 3 | | import json421 4 | | from typing import cast422 5 | | from urllib.parse import parse_qs, urlencode, urlparse423 6 | |424 7 | | import pytest425 8 | | from biorefs_cli.commands.protein import (426 9 | | ProteinService,42710 | | build_search_term,42811 | | normalize_accession,42912 | | parse_protein_summaries,43013 | | )43114 | | from biorefs_cli.errors import CLIError, RateLimitError43215 | | from biorefs_cli.http import HttpResponse, JsonObject43316 | | from biorefs_cli.main import main434 | |_________________________________^435help: Organize imports436 |4377 | import pytest4388 +4399 | from biorefs_cli.commands.protein import (440 |441442I001 [*] Import block is un-sorted or un-formatted443 --> tests/test_render_helpers.py:1:1444 |445 1 | / from __future__ import annotations446 2 | |447 3 | | import argparse448 4 | | from typing import TYPE_CHECKING, cast449 5 | |450 6 | | import pytest451 7 | | from biorefs_cli.commands import assay, compound, gene, nucleotide, openalex, protein452 8 | | from biorefs_cli.errors import CLIError, HTTPError, RateLimitError453 | |__________________________________________________________________^454 9 |45510 | if TYPE_CHECKING:456 |457help: Organize imports458 |4596 | import pytest4607 +4618 | from biorefs_cli.commands import assay, compound, gene, nucleotide, openalex, protein462 |463464I001 [*] Import block is un-sorted or un-formatted465 --> tests/test_scaffold.py:1:1466 |4671 | / from __future__ import annotations4682 | |4693 | | import pytest4704 | | from biorefs_cli.main import build_parser, main471 | |_______________________________________________^4725 |4736 | TOP_LEVEL_COMMANDS = (474 |475help: Organize imports476 |4773 | import pytest4784 +4795 | from biorefs_cli.main import build_parser, main480 |481482I001 [*] Import block is un-sorted or un-formatted483 --> tests/test_structure_fetch.py:1:1484 |485 1 | / from __future__ import annotations486 2 | |487 3 | | import json488 4 | | from pathlib import Path489 5 | |490 6 | | import pytest491 7 | | from biorefs_cli.commands.structure import (492 8 | | AlphaFoldFile,493 9 | | FetchClient,49410 | | FetchResult,49511 | | FetchService,49612 | | first_prediction,49713 | | write_structure,49814 | | )49915 | | from biorefs_cli.config import Config50016 | | from biorefs_cli.errors import CLIError, HTTPError50117 | | from biorefs_cli.http import HttpClient, HttpResponse50218 | | from biorefs_cli.main import main503 | |_________________________________^504help: Organize imports505 |5066 | import pytest5077 +5088 | from biorefs_cli.commands.structure import (509 |510511I001 [*] Import block is un-sorted or un-formatted512 --> tests/test_structure_info.py:1:1513 |514 1 | / from __future__ import annotations515 2 | |516 3 | | from typing import TYPE_CHECKING, cast517 4 | |518 5 | | import pytest519 6 | | from biorefs_cli.commands.structure import (520 7 | | InfoService,521 8 | | build_info_result,522 9 | | parse_entry,52310 | | )52411 | | from biorefs_cli.main import main525 | |_________________________________^52612 |52713 | if TYPE_CHECKING:528 |529help: Organize imports530 |5315 | import pytest5326 +5337 | from biorefs_cli.commands.structure import (534 |535536I001 [*] Import block is un-sorted or un-formatted537 --> tests/test_structure_render.py:1:1538 |539 1 | / from __future__ import annotations540 2 | |541 3 | | import pytest542 4 | | from biorefs_cli.commands.structure import (543 5 | | parse_include,544 6 | | print_info_table,545 7 | | print_search_table,546 8 | | validate_organism,547 9 | | )54810 | | from biorefs_cli.errors import CLIError549 | |_______________________________________^550help: Organize imports551 |5523 | import pytest5534 +5545 | from biorefs_cli.commands.structure import (555 |556557I001 [*] Import block is un-sorted or un-formatted558 --> tests/test_structure_search.py:1:1559 |560 1 | / from __future__ import annotations561 2 | |562 3 | | import argparse563 4 | | from typing import TYPE_CHECKING, cast564 5 | |565 6 | | import pytest566 7 | | from biorefs_cli.commands.structure import (567 8 | | SearchQuery,568 9 | | SearchService,56910 | | build_query_from_args,57011 | | build_search_payload,57112 | | clean_sequence,57213 | | normalize_pdb_id,57314 | | normalize_uniprot_accession,57415 | | parse_hits,57516 | | )57617 | | from biorefs_cli.errors import CLIError, HTTPError57718 | | from biorefs_cli.main import main57819 | | from biorefs_cli.rcsb_graphql import EntryMeta579 | |______________________________________________^58020 |58121 | if TYPE_CHECKING:582 |583help: Organize imports584 |5856 | import pytest5867 +5878 | from biorefs_cli.commands.structure import (588 |589590I001 [*] Import block is un-sorted or un-formatted591 --> tests/test_uniprot.py:1:1592 |593 1 | / from __future__ import annotations594 2 | |595 3 | | import json596 4 | | from typing import TYPE_CHECKING, cast597 5 | |598 6 | | import pytest599 7 | | from biorefs_cli.commands.uniprot import (600 8 | | UniProtService,601 9 | | build_search_query,60210 | | normalize_accession,60311 | | parse_entry,60412 | | )60513 | | from biorefs_cli.errors import CLIError, RateLimitError60614 | | from biorefs_cli.main import main607 | |_________________________________^60815 |60916 | if TYPE_CHECKING:610 |611help: Organize imports612 |6136 | import pytest6147 +6158 | from biorefs_cli.commands.uniprot import (616 |617618Found 22 errors.619[*] 22 fixable with the `--fix` option.