lecrapaud 0.13.0__tar.gz → 0.14.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of lecrapaud might be problematic. Click here for more details.

Files changed (44) hide show
  1. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/PKG-INFO +1 -1
  2. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/config.py +1 -0
  3. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/models/base.py +4 -3
  4. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/feature_engineering.py +5 -4
  5. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/model_selection.py +2 -1
  6. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/pyproject.toml +1 -1
  7. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/LICENSE +0 -0
  8. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/README.md +0 -0
  9. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/__init__.py +0 -0
  10. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/api.py +0 -0
  11. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/__init__.py +0 -0
  12. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/alembic/README +0 -0
  13. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/alembic/env.py +0 -0
  14. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/alembic/script.py.mako +0 -0
  15. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/alembic/versions/2025_06_23_1748-f089dfb7e3ba_.py +0 -0
  16. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/alembic/versions/2025_06_24_1216-c62251b129ed_.py +0 -0
  17. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/alembic/versions/2025_06_24_1711-86457e2f333f_.py +0 -0
  18. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/alembic/versions/2025_06_25_1759-72aa496ca65b_.py +0 -0
  19. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/alembic.ini +0 -0
  20. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/models/__init__.py +0 -0
  21. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/models/experiment.py +0 -0
  22. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/models/feature.py +0 -0
  23. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/models/feature_selection.py +0 -0
  24. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/models/feature_selection_rank.py +0 -0
  25. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/models/model.py +0 -0
  26. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/models/model_selection.py +0 -0
  27. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/models/model_training.py +0 -0
  28. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/models/score.py +0 -0
  29. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/models/target.py +0 -0
  30. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/db/session.py +0 -0
  31. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/directories.py +0 -0
  32. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/experiment.py +0 -0
  33. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/feature_selection.py +0 -0
  34. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/integrations/openai_integration.py +0 -0
  35. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/jobs/__init__.py +0 -0
  36. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/jobs/config.py +0 -0
  37. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/jobs/scheduler.py +0 -0
  38. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/jobs/tasks.py +0 -0
  39. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/misc/tabpfn_tests.ipynb +0 -0
  40. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/misc/test-gpu-bilstm.ipynb +0 -0
  41. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/misc/test-gpu-resnet.ipynb +0 -0
  42. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/misc/test-gpu-transformers.ipynb +0 -0
  43. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/search_space.py +0 -0
  44. {lecrapaud-0.13.0 → lecrapaud-0.14.0}/lecrapaud/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: lecrapaud
3
- Version: 0.13.0
3
+ Version: 0.14.0
4
4
  Summary: Framework for machine and deep learning, with regression, classification and time series analysis
5
5
  License: Apache License
6
6
  Author: Pierre H. Gallet
@@ -33,3 +33,4 @@ DB_URI = (
33
33
  OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
34
34
  LECRAPAUD_LOGFILE = os.getenv("LECRAPAUD_LOGFILE")
35
35
  LECRAPAUD_LOCAL = os.getenv("LECRAPAUD_LOCAL", False)
36
+ LECRAPAUD_TABLE_PREFIX = os.getenv("LECRAPAUD_TABLE_PREFIX", "lecrapaud")
@@ -10,6 +10,7 @@ from sqlalchemy.orm.attributes import InstrumentedAttribute
10
10
  from lecrapaud.db.session import get_db
11
11
  from sqlalchemy.ext.declarative import declared_attr
12
12
  from sqlalchemy.dialects.mysql import insert as mysql_insert
13
+ from lecrapaud.config import LECRAPAUD_TABLE_PREFIX
13
14
 
14
15
 
15
16
  def with_db(func):
@@ -46,13 +47,13 @@ class Base(DeclarativeBase):
46
47
  # If the model sets __tablename__, use it (with prefix if not present)
47
48
  if "__tablename__" in cls.__dict__:
48
49
  base_name = cls.__dict__["__tablename__"]
49
- if not base_name.startswith("lecrapaud_"):
50
- return f"lecrapaud_{base_name}"
50
+ if not base_name.startswith(f"{LECRAPAUD_TABLE_PREFIX}_"):
51
+ return f"{LECRAPAUD_TABLE_PREFIX}_{base_name}"
51
52
  return base_name
52
53
  # Otherwise, generate from class name
53
54
  snake = camel_to_snake(cls.__name__)
54
55
  plural = pluralize(snake)
55
- return f"lecrapaud_{plural}"
56
+ return f"{LECRAPAUD_TABLE_PREFIX}_{plural}"
56
57
 
57
58
  @classmethod
58
59
  @with_db
@@ -526,6 +526,7 @@ class PreprocessFeature:
526
526
 
527
527
  pcas_dict = {}
528
528
  for column in columns:
529
+ column = column.upper()
529
530
  # Convert text to embeddings if necessary
530
531
  if not isinstance(df[column].iloc[0], (np.ndarray, list)):
531
532
  sentences = df[column].astype(str).tolist()
@@ -581,10 +582,10 @@ class PreprocessFeature:
581
582
  Returns:
582
583
  tuple: (transformed DataFrame, ColumnTransformer)
583
584
  """
584
- columns_onehot: list[str] = self.columns_onehot
585
- columns_binary: list[str] = self.columns_binary
586
- columns_ordinal: list[str] = self.columns_ordinal
587
- columns_frequency: list[str] = self.columns_frequency
585
+ columns_onehot: list[str] = [col.upper() for col in self.columns_onehot]
586
+ columns_binary: list[str] = [col.upper() for col in self.columns_binary]
587
+ columns_ordinal: list[str] = [col.upper() for col in self.columns_ordinal]
588
+ columns_frequency: list[str] = [col.upper() for col in self.columns_frequency]
588
589
 
589
590
  X = df.loc[:, ~df.columns.str.contains("^TARGET_")]
590
591
  y = df.loc[:, df.columns.str.contains("^TARGET_")]
@@ -1000,7 +1000,8 @@ class ModelSelectionEngine:
1000
1000
 
1001
1001
  logger.info(f"👉 {model.model_name} scores on test set:")
1002
1002
  for metric, value in best_score.items():
1003
- logger.info(f" {metric}: {value:.4f}")
1003
+ if isinstance(value, (int, float)):
1004
+ logger.info(f" {metric}: {value:.4f}")
1004
1005
 
1005
1006
  # Save predictions
1006
1007
  best_pred.to_csv(
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "lecrapaud"
3
- version = "0.13.0"
3
+ version = "0.14.0"
4
4
  description = "Framework for machine and deep learning, with regression, classification and time series analysis"
5
5
  authors = [
6
6
  {name = "Pierre H. Gallet"}
File without changes
File without changes
File without changes