Skip to content

Commit d7cbd1f

Browse files
committed
Removed relative imports from most places
1 parent ec37c0f commit d7cbd1f

21 files changed

+74
-75
lines changed

paperqa/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from .docs import Answer, Docs, print_callback
2-
from .llms import (
1+
from paperqa.docs import Answer, Docs, print_callback
2+
from paperqa.llms import (
33
EmbeddingModel,
44
HybridEmbeddingModel,
55
LangchainVectorStore,
@@ -11,9 +11,9 @@
1111
SparseEmbeddingModel,
1212
embedding_model_factory,
1313
)
14-
from .settings import Settings, get_settings
15-
from .types import Context, Doc, DocDetails, Text
16-
from .version import __version__
14+
from paperqa.settings import Settings, get_settings
15+
from paperqa.types import Context, Doc, DocDetails, Text
16+
from paperqa.version import __version__
1717

1818
__all__ = [
1919
"Answer",

paperqa/agents/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77

88
from pydantic_settings import CliSettingsSource
99

10-
from .. import __version__
11-
from ..settings import Settings
12-
from ..utils import get_loop, pqa_directory, setup_default_logs
10+
from paperqa.settings import Settings
11+
from paperqa.utils import get_loop, pqa_directory, setup_default_logs
12+
from paperqa.version import __version__
1313

1414
try:
1515
from rich.console import Console

paperqa/agents/helpers.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@
77

88
from rich.table import Table
99

10-
from .. import (
11-
Docs,
12-
)
13-
from ..llms import LiteLLMModel
10+
from paperqa.docs import Docs
11+
from paperqa.llms import LiteLLMModel
12+
1413
from .models import AnswerResponse
1514

1615
logger = logging.getLogger(__name__)

paperqa/agents/main.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@
1414
from langchain_openai import ChatOpenAI
1515
from rich.console import Console
1616

17-
from ..docs import Docs
18-
from ..types import Answer
19-
from ..utils import pqa_directory
17+
from paperqa.docs import Docs
18+
from paperqa.types import Answer
19+
from paperqa.utils import pqa_directory
20+
2021
from .helpers import litellm_get_search_query, table_formatter
2122
from .models import (
2223
AgentCallback,

paperqa/agents/models.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,9 @@
2424
from typing_extensions import Protocol
2525

2626
from paperqa.llms import LiteLLMModel
27-
28-
from .. import Answer
29-
from ..settings import Settings
30-
from ..version import __version__
27+
from paperqa.settings import Settings
28+
from paperqa.types import Answer
29+
from paperqa.version import __version__
3130

3231
logger = logging.getLogger(__name__)
3332

paperqa/agents/search.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,11 @@
2424
wait_random_exponential,
2525
)
2626

27-
from ..docs import Docs
28-
from ..settings import MaybeSettings, Settings, get_settings
29-
from ..types import DocDetails
30-
from ..utils import hexdigest, pqa_directory
27+
from paperqa.docs import Docs
28+
from paperqa.settings import MaybeSettings, Settings, get_settings
29+
from paperqa.types import DocDetails
30+
from paperqa.utils import hexdigest, pqa_directory
31+
3132
from .models import SupportsPickle
3233

3334
logger = logging.getLogger(__name__)

paperqa/agents/tools.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
from __future__ import annotations
2+
23
import inspect
34
import logging
45
import re
56
import sys
67
from typing import ClassVar
7-
from langchain_core.callbacks import BaseCallbackHandler
88

99
from langchain.tools import BaseTool
10-
from paperqa import Answer, Docs
10+
from langchain_core.callbacks import BaseCallbackHandler
1111
from pydantic import BaseModel, ConfigDict, Field
1212

1313
# ruff: noqa: I001
@@ -16,11 +16,14 @@
1616
Field as FieldV1,
1717
)
1818

19+
from paperqa.docs import Docs
20+
from paperqa.llms import EmbeddingModel, LiteLLMModel
21+
from paperqa.settings import Settings
22+
from paperqa.types import Answer
23+
1924
from .helpers import get_year
20-
from .search import get_directory_index
2125
from .models import QueryRequest, SimpleProfiler
22-
from ..settings import Settings
23-
from ..llms import EmbeddingModel, LiteLLMModel
26+
from .search import get_directory_index
2427

2528
logger = logging.getLogger(__name__)
2629

paperqa/clients/__init__.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@
88
import aiohttp
99
from pydantic import BaseModel, ConfigDict
1010

11-
from ..types import Doc, DocDetails
12-
from ..utils import gather_with_concurrency
11+
from paperqa.types import Doc, DocDetails
12+
from paperqa.utils import gather_with_concurrency
13+
1314
from .client_models import MetadataPostProcessor, MetadataProvider
1415
from .crossref import CrossrefProvider
1516
from .journal_quality import JournalQualityPostProcessor

paperqa/clients/client_models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
model_validator,
1717
)
1818

19-
from paperqa.clients.exceptions import DOINotFoundError
19+
from paperqa.types import DocDetails
2020

21-
from ..types import DocDetails
21+
from .exceptions import DOINotFoundError
2222

2323
logger = logging.getLogger(__name__)
2424

paperqa/clients/crossref.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,17 @@
1111

1212
import aiohttp
1313

14-
from ..clients.exceptions import DOINotFoundError
15-
from ..types import CITATION_FALLBACK_DATA, DocDetails
16-
from ..utils import (
14+
from paperqa.types import CITATION_FALLBACK_DATA, DocDetails
15+
from paperqa.utils import (
1716
bibtex_field_extract,
1817
create_bibtex_key,
1918
remove_substrings,
2019
strings_similarity,
2120
union_collections_to_ordered_list,
2221
)
22+
2323
from .client_models import DOIOrTitleBasedProvider, DOIQuery, TitleAuthorQuery
24+
from .exceptions import DOINotFoundError
2425

2526
logger = logging.getLogger(__name__)
2627

paperqa/clients/journal_quality.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77

88
from pydantic import ValidationError
99

10-
from ..types import DocDetails
10+
from paperqa.types import DocDetails
11+
1112
from .client_models import JournalQuery, MetadataPostProcessor
1213

1314
logger = logging.getLogger(__name__)

paperqa/clients/semantic_scholar.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@
1111

1212
import aiohttp
1313

14-
from ..types import DocDetails
15-
from ..utils import (
14+
from paperqa.types import DocDetails
15+
from paperqa.utils import (
1616
_get_with_retrying,
1717
clean_upbibtex,
1818
strings_similarity,
1919
union_collections_to_ordered_list,
2020
)
21+
2122
from .client_models import DOIOrTitleBasedProvider, DOIQuery, TitleAuthorQuery
2223
from .crossref import doi_to_bibtex
2324
from .exceptions import DOINotFoundError

paperqa/clients/unpaywall.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,9 @@
88
import aiohttp
99
from pydantic import BaseModel, ConfigDict, ValidationError
1010

11-
from ..types import DocDetails
12-
from ..utils import (
13-
_get_with_retrying,
14-
strings_similarity,
15-
)
11+
from paperqa.types import DocDetails
12+
from paperqa.utils import _get_with_retrying, strings_similarity
13+
1614
from .client_models import DOIOrTitleBasedProvider, DOIQuery, TitleAuthorQuery
1715
from .exceptions import DOINotFoundError
1816

paperqa/contrib/zotero.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
"zotero requires the 'zotero' extra for 'pyzotero'. Please:"
1515
" `pip install aviary[zotero]`."
1616
) from e
17-
from ..paths import PAPERQA_DIR
18-
from ..utils import StrPath, count_pdf_pages
17+
from paperqa.paths import PAPERQA_DIR
18+
from paperqa.utils import StrPath, count_pdf_pages
1919

2020

2121
class ZoteroPaper(BaseModel):

paperqa/core.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
from collections.abc import Callable
66
from typing import Any
77

8-
from .llms import Chain
9-
from .types import Context, LLMResult, Text
10-
from .utils import extract_score, strip_citations
8+
from paperqa.llms import Chain
9+
from paperqa.types import Context, LLMResult, Text
10+
from paperqa.utils import extract_score, strip_citations
1111

1212

1313
def llm_parse_json(text: str) -> dict:

paperqa/docs.py

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,13 @@
2020
field_validator,
2121
)
2222

23-
from .clients import DEFAULT_CLIENTS, DocMetadataClient
24-
from .core import llm_parse_json, map_fxn_summary
25-
from .llms import (
26-
EmbeddingModel,
27-
LLMModel,
28-
NumpyVectorStore,
29-
VectorStore,
30-
)
31-
from .paths import PAPERQA_DIR
32-
from .readers import read_doc
33-
from .settings import MaybeSettings, get_settings
34-
from .types import (
23+
from paperqa.clients import DEFAULT_CLIENTS, DocMetadataClient
24+
from paperqa.core import llm_parse_json, map_fxn_summary
25+
from paperqa.llms import EmbeddingModel, LLMModel, NumpyVectorStore, VectorStore
26+
from paperqa.paths import PAPERQA_DIR
27+
from paperqa.readers import read_doc
28+
from paperqa.settings import MaybeSettings, get_settings
29+
from paperqa.types import (
3530
Answer,
3631
Doc,
3732
DocDetails,
@@ -40,7 +35,7 @@
4035
Text,
4136
set_llm_answer_ids,
4237
)
43-
from .utils import (
38+
from paperqa.utils import (
4439
gather_with_concurrency,
4540
get_loop,
4641
maybe_is_html,

paperqa/llms.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
from litellm import Router, aembedding, token_counter
1313
from pydantic import BaseModel, ConfigDict, Field, model_validator
1414

15-
from .prompts import default_system_prompt
16-
from .types import Doc, Embeddable, LLMResult, Text
17-
from .utils import is_coroutine_callable
15+
from paperqa.prompts import default_system_prompt
16+
from paperqa.types import Doc, Embeddable, LLMResult, Text
17+
from paperqa.utils import is_coroutine_callable
1818

1919
Chain = Callable[
2020
[dict, list[Callable[[str], None]] | None, str | None],

paperqa/readers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
import html2text
88
import tiktoken
99

10-
from .types import ChunkMetadata, Doc, ParsedMetadata, ParsedText, Text
11-
from .version import __version__ as pqa_version
10+
from paperqa.types import ChunkMetadata, Doc, ParsedMetadata, ParsedText, Text
11+
from paperqa.version import __version__ as pqa_version
1212

1313

1414
def parse_pdf_fitz_to_pages(path: Path) -> ParsedText:

paperqa/settings.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
from pydantic import BaseModel, ConfigDict, Field, computed_field, field_validator
1414
from pydantic_settings import BaseSettings, CliSettingsSource, SettingsConfigDict
1515

16-
from .llms import EmbeddingModel, LiteLLMModel, embedding_model_factory
17-
from .prompts import (
16+
from paperqa.llms import EmbeddingModel, LiteLLMModel, embedding_model_factory
17+
from paperqa.prompts import (
1818
citation_prompt,
1919
default_system_prompt,
2020
qa_prompt,
@@ -24,8 +24,8 @@
2424
summary_json_system_prompt,
2525
summary_prompt,
2626
)
27-
from .utils import hexdigest, pqa_directory
28-
from .version import __version__
27+
from paperqa.utils import hexdigest, pqa_directory
28+
from paperqa.version import __version__
2929

3030

3131
class AnswerSettings(BaseModel):
@@ -232,7 +232,7 @@ def check_pre(cls, v: str | None) -> str | None:
232232
def check_post(cls, v: str | None) -> str | None:
233233
if v is not None:
234234
# kind of a hack to get list of attributes in answer
235-
from .types import Answer
235+
from paperqa.types import Answer
236236

237237
attrs = set(Answer.model_fields.keys())
238238
if not set(get_formatted_variables(v)).issubset(attrs):
@@ -311,7 +311,7 @@ def validate_tool_names(cls, v: set[str] | None) -> set[str] | None:
311311
if v is None:
312312
return None
313313
# imported here to avoid circular imports
314-
from .agents.main import GenerateAnswerTool
314+
from paperqa.agents.main import GenerateAnswerTool
315315

316316
answer_tool_name = GenerateAnswerTool.__fields__["name"].default
317317
if answer_tool_name not in v:

paperqa/types.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@
2424
model_validator,
2525
)
2626

27-
from .utils import (
27+
from paperqa.utils import (
2828
create_bibtex_key,
2929
encode_id,
3030
format_bibtex,
3131
get_citenames,
3232
)
33-
from .version import __version__ as pqa_version
33+
from paperqa.version import __version__ as pqa_version
3434

3535
# Just for clarity
3636
# also in case one day we want to narrow

pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,6 @@ ignore = [
339339
"TCH003",
340340
"TD002", # Don't care for TODO author
341341
"TD003", # Don't care for TODO links
342-
"TID252", # Allow relative imports for packaging
343342
"TRY003", # Overly pedantic
344343
]
345344
preview = true

0 commit comments

Comments
 (0)