Skip to content

Commit

Permalink
🏗️ Refactor: rename solvers top-module to codenames_solvers
Browse files Browse the repository at this point in the history
  • Loading branch information
asaf-kali committed Jan 4, 2025
1 parent d9b41ef commit 8ba5774
Show file tree
Hide file tree
Showing 51 changed files with 86 additions and 66 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ check-mypy:
mypy .

check-pylint:
pylint solvers/ --fail-under=10
pylint codenames_solvers/ --fail-under=10

lint: format
pre-commit run --all-files
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from codenames.generic.player import Operative
from codenames.generic.state import OperativeState

from solvers.gpt.gpt_player import (
from codenames_solvers.gpt.gpt_player import (
GUESSER_TURN_COMMAND,
GPTPlayer,
extract_data_from_response,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
from codenames.generic.state import PlayerState
from openai import ChatCompletion

from solvers.gpt.instructions import load_instructions
from solvers.gpt.moves import ClueMove, GuessMove, Move, PassMove, get_moves
from codenames_solvers.gpt.instructions import load_instructions
from codenames_solvers.gpt.moves import ClueMove, GuessMove, Move, PassMove, get_moves

log = logging.getLogger(__name__)
INSTRUCTIONS = load_instructions()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from codenames.generic.state import SpymasterState
from codenames.utils.vocabulary.english import ENGLISH_WORDS

from solvers.gpt.gpt_player import (
from codenames_solvers.gpt.gpt_player import (
HINTER_TURN_COMMAND,
GPTPlayer,
extract_data_from_response,
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from generic_iterative_stemmer.models import StemmedKeyedVectors
from gensim.models import KeyedVectors

from solvers.models.identifier import ModelIdentifier
from codenames_solvers.models.identifier import ModelIdentifier

log = logging.getLogger(__name__)

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

from gensim.models import KeyedVectors

from solvers.models.cache import ModelCache
from solvers.models.identifier import ModelIdentifier
from codenames_solvers.models.cache import ModelCache
from codenames_solvers.models.identifier import ModelIdentifier

log = logging.getLogger(__name__)

Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from codenames.generic.player import Operative
from codenames.generic.state import OperativeState

from solvers.naive.naive_player import NaivePlayer
from codenames_solvers.naive.naive_player import NaivePlayer

log = logging.getLogger(__name__)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from codenames.generic.player import Player, Team
from gensim.models import KeyedVectors

from solvers.models import (
from codenames_solvers.models import (
DefaultFormatAdapter,
ModelFormatAdapter,
ModelIdentifier,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
from codenames.generic.state import PlayerState, SpymasterState
from gensim.models import KeyedVectors

from solvers.models import ModelFormatAdapter, ModelIdentifier
from solvers.naive.naive_player import NaivePlayer
from solvers.naive.proposal_generator import (
from codenames_solvers.models import ModelFormatAdapter, ModelIdentifier
from codenames_solvers.naive.naive_player import NaivePlayer
from codenames_solvers.naive.proposal_generator import (
DEFAULT_THRESHOLDS,
NaiveProposalsGenerator,
Proposal,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
from the_spymaster_util.async_task_manager import AsyncTaskManager
from the_spymaster_util.logger import wrap

from solvers.models import ModelFormatAdapter
from solvers.utils.algebra import cosine_distance
from codenames_solvers.models import ModelFormatAdapter
from codenames_solvers.utils.algebra import cosine_distance

log = logging.getLogger(__name__)

Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,12 @@
from gensim.models import KeyedVectors
from typing_extensions import TypeAlias

from solvers.models import DEFAULT_MODEL_ADAPTER, ModelFormatAdapter, load_language
from solvers.olympic.board_heuristics import (
from codenames_solvers.models import (
DEFAULT_MODEL_ADAPTER,
ModelFormatAdapter,
load_language,
)
from codenames_solvers.olympic.board_heuristics import (
HeuristicsCalculator,
HeuristicsTensor,
SimilaritiesMatrix,
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,12 @@
from codenames.generic.state import OperativeState
from gensim.models import KeyedVectors

from solvers.cli import CLIOperative
from solvers.models import DEFAULT_MODEL_ADAPTER, ModelFormatAdapter, load_language
from codenames_solvers.cli import CLIOperative
from codenames_solvers.models import (
DEFAULT_MODEL_ADAPTER,
ModelFormatAdapter,
load_language,
)

log = logging.getLogger(__name__)

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,13 @@
from gensim.models import KeyedVectors
from pandas import Series

from solvers.models import load_language
from solvers.naive.naive_spymaster import Proposal, default_proposal_grade_calculator
from solvers.utils import RUN_ID, get_exports_folder
from solvers.utils.algebra import cosine_distance, single_gram_schmidt
from codenames_solvers.models import load_language
from codenames_solvers.naive.naive_spymaster import (
Proposal,
default_proposal_grade_calculator,
)
from codenames_solvers.utils import RUN_ID, get_exports_folder
from codenames_solvers.utils.algebra import cosine_distance, single_gram_schmidt

plt.style.use("fivethirtyeight")

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion etc/data_preperation/clean_vocabulary.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import pandas as pd
from gensim.models import KeyedVectors

from solvers.models import load_language
from codenames_solvers.models import load_language

# %% Load original spammy model:
model = load_language("english", None)
Expand Down
2 changes: 1 addition & 1 deletion etc/data_preperation/download_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

import gensim.downloader

from solvers.models import load_language
from codenames_solvers.models import load_language

models_names = ["glove-wiki-gigaword-50"]
LARGE_MODEL_NAMES = ["glove-wiki-gigaword-100", "glove-wiki-gigaword-300"]
Expand Down
2 changes: 1 addition & 1 deletion etc/visualizer/make_lynx_graph.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import networkx as nx
from codenames.boards import build_board

from codenames_solvers.models import load_language
from playground.visualizer import render
from solvers.models import load_language

model = load_language("english", "google-300")
words = [
Expand Down
6 changes: 3 additions & 3 deletions playground/asaf.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@
},
"outputs": [],
"source": [
"from solvers.models import ModelIdentifier, HEBREW_SUFFIX_ADAPTER, load_model_async, DEFAULT_MODEL_ADAPTER\n",
"from codenames_solvers.models import ModelIdentifier, HEBREW_SUFFIX_ADAPTER, load_model_async, DEFAULT_MODEL_ADAPTER\n",
"from codenames.game import GameRunner\n",
"from solvers.naive import NaiveSpymaster, NaiveOperative\n",
"from codenames_solvers.naive import NaiveSpymaster, NaiveOperative\n",
"\n",
"model_id = ModelIdentifier(language=\"english\", model_name=\"wiki-50\", is_stemmed=False)\n",
"# model_id = ModelIdentifier(\"english\", \"google-300\", False)\n",
Expand Down Expand Up @@ -130,7 +130,7 @@
}
],
"source": [
"from solvers.utils.loader import load_model\n",
"from codenames_solvers.utils.loader import load_model\n",
"from codenames.boards.hebrew import * # noqa\n",
"\n",
"# for word in HEBREW_WORDS:\n",
Expand Down
14 changes: 7 additions & 7 deletions playground/offline.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,8 @@
from codenames.game.player import GamePlayers
from codenames.game.runner import GameRunner

from playground.boards.english import * # noqa
from playground.boards.hebrew import * # noqa
from playground.printer import print_results
from solvers.cli import CLIOperative # noqa
from solvers.models import ( # noqa
from codenames_solvers.cli import CLIOperative # noqa
from codenames_solvers.models import ( # noqa
DEFAULT_MODEL_ADAPTER,
HEBREW_SUFFIX_ADAPTER,
IS_STEMMED_ENV_KEY,
Expand All @@ -20,8 +17,11 @@
load_language_async,
load_model_async,
)
from solvers.naive import NaiveOperative, NaiveSpymaster # noqa
from solvers.other.naive_cli_operative import ModelAwareCliOperative # noqa
from codenames_solvers.naive import NaiveOperative, NaiveSpymaster # noqa
from codenames_solvers.other.naive_cli_operative import ModelAwareCliOperative # noqa
from playground.boards.english import * # noqa
from playground.boards.hebrew import * # noqa
from playground.printer import print_results

random.seed(42)

Expand Down
8 changes: 4 additions & 4 deletions playground/online_codenames_game.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@
from codenames.online.codenames_game.adapter import CodenamesGameLanguage, GameConfigs
from codenames.online.codenames_game.runner import CodenamesGameRunner

from playground.printer import print_results
from solvers.models import (
from codenames_solvers.models import (
DEFAULT_MODEL_ADAPTER,
HEBREW_SUFFIX_ADAPTER,
IS_STEMMED_ENV_KEY,
MODEL_NAME_ENV_KEY,
ModelIdentifier,
load_language_async,
)
from solvers.naive.naive_operative import NaiveOperative
from solvers.naive.naive_spymaster import NaiveSpymaster
from codenames_solvers.naive.naive_operative import NaiveOperative
from codenames_solvers.naive.naive_spymaster import NaiveSpymaster
from playground.printer import print_results

# configure_logging(level="DEBUG", mute_solvers=False, mute_online=False)
log = logging.getLogger(__name__)
Expand Down
6 changes: 3 additions & 3 deletions playground/online_namecoding.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@
from codenames.online.namecoding.adapter import NamecodingLanguage
from codenames.online.namecoding.game_runner import NamecodingGameRunner

from playground.printer import print_results
from solvers.models import (
from codenames_solvers.models import (
DEFAULT_MODEL_ADAPTER,
HEBREW_SUFFIX_ADAPTER,
IS_STEMMED_ENV_KEY,
MODEL_NAME_ENV_KEY,
ModelIdentifier,
load_language_async,
)
from solvers.naive import NaiveOperative, NaiveSpymaster
from codenames_solvers.naive import NaiveOperative, NaiveSpymaster
from playground.printer import print_results
from utils import configure_logging

configure_logging(level="INFO", mute_solvers=False, mute_online=False)
Expand Down
6 changes: 3 additions & 3 deletions playground/sna.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
"from logging import getLogger\n",
"\n",
"from codenames.game import GameRunner\n",
"from solvers.naive.naive_guesser import NaiveOperative # noqa: E402\n",
"from solvers.sna_hinter import SnaSpymaster # noqa: E402\n",
"from codenames_solvers.naive.naive_guesser import NaiveOperative # noqa: E402\n",
"from codenames_solvers.sna_hinter import SnaSpymaster # noqa: E402\n",
"from utils import configure_logging\n",
"from solvers.utils.loader import MODEL_NAME_ENV_KEY\n",
"from codenames_solvers.utils.loader import MODEL_NAME_ENV_KEY\n",
"from playground.boards.english import ENGLISH_BOARD_1\n",
"\n",
"configure_logging()\n",
Expand Down
2 changes: 1 addition & 1 deletion playground/vectors.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import numpy as np

from solvers.models import load_language
from codenames_solvers.models import load_language

from .visualizer import pretty_print_similarities

Expand Down
16 changes: 11 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

[tool.poetry]
name = "codenames-solvers"
version = "1.8.1"
version = "1.9"
description = "Solvers implementation for Codenames board game in python."
authors = ["Michael Kali <[email protected]>", "Asaf Kali <[email protected]>"]
readme = "README.md"
packages = [
{ include = "solvers" },
{ include = "codenames_solvers" },
]
include = ["*.json"]

Expand Down Expand Up @@ -75,7 +75,13 @@ build-backend = "poetry.core.masonry.api"
addopts = "-s --disable-pytest-warnings"

[tool.coverage.run]
source = ["solvers/cli", "solvers/cli", "solvers/models", "solvers/utils", "solvers/naive"]
source = [
"codenames_solvers/cli",
"codenames_solvers/cli",
"codenames_solvers/models",
"codenames_solvers/utils",
"codenames_solvers/naive"
]

# Lint

Expand Down Expand Up @@ -122,8 +128,8 @@ disable = [
]
extension-pkg-allow-list = ["pydantic"]
ignore = [
"solvers/sna",
"solvers/olympic",
"codenames_solvers/sna",
"codenames_solvers/olympic",
"algebra.py",
"board_heuristics.py",
]
2 changes: 1 addition & 1 deletion tests/test_adapters.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from solvers.models import DefaultFormatAdapter
from codenames_solvers.models import DefaultFormatAdapter


def test_adapter_uses_init_cache():
Expand Down
2 changes: 1 addition & 1 deletion tests/test_cli_players.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from codenames.classic.winner import WinningReason
from codenames.generic.move import PASS_GUESS

from solvers.cli import CLIOperative, CLISpymaster
from codenames_solvers.cli import CLIOperative, CLISpymaster


@patch("builtins.input")
Expand Down
2 changes: 1 addition & 1 deletion tests/test_models.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from solvers.models import ModelIdentifier
from codenames_solvers.models import ModelIdentifier


def test_model_identifier():
Expand Down
6 changes: 3 additions & 3 deletions tests/test_naive_flow.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
from codenames.duet.state import DuetGameState
from gensim.models import KeyedVectors

from solvers.naive.naive_duet import UnifiedDuetPlayer
from solvers.naive.naive_operative import NaiveOperative
from solvers.naive.naive_spymaster import NaiveSpymaster
from codenames_solvers.naive.naive_duet import UnifiedDuetPlayer
from codenames_solvers.naive.naive_operative import NaiveOperative
from codenames_solvers.naive.naive_spymaster import NaiveSpymaster
from tests.resources.resource_manager import get_resource_path
from tests.resources.words import ALL_WORDS

Expand Down
15 changes: 9 additions & 6 deletions tests/test_solvers_import.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
def test_all_solvers_can_be_imported():
from solvers.cli.cli_players import CLIOperative, CLISpymaster # noqa: F401
from solvers.gpt.gpt_operative import GPTOperative # noqa: F401
from solvers.gpt.gpt_spymaster import GPTSpymaster # noqa: F401
from solvers.naive.naive_operative import NaiveOperative # noqa: F401
from solvers.naive.naive_spymaster import NaiveSpymaster # noqa: F401
from solvers.sna.sna_spymaster import SNASpymaster # noqa: F401
from codenames_solvers.cli.cli_players import ( # noqa: F401
CLIOperative,
CLISpymaster,
)
from codenames_solvers.gpt.gpt_operative import GPTOperative # noqa: F401
from codenames_solvers.gpt.gpt_spymaster import GPTSpymaster # noqa: F401
from codenames_solvers.naive.naive_operative import NaiveOperative # noqa: F401
from codenames_solvers.naive.naive_spymaster import NaiveSpymaster # noqa: F401
from codenames_solvers.sna.sna_spymaster import SNASpymaster # noqa: F401
4 changes: 2 additions & 2 deletions videos/explanation.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
from manim import *
from scipy.interpolate import interp1d

from solvers.sna.sna_spymaster import ( # , opponent_force, friendly_force
from codenames_solvers.sna.sna_spymaster import ( # , opponent_force, friendly_force
ForceNode,
step_from_forces,
)
from solvers.utils.algebra import (
from codenames_solvers.utils.algebra import (
cosine_distance,
geodesic,
normalize_vector,
Expand Down

0 comments on commit 8ba5774

Please sign in to comment.