dataflow-core 2.1.11__tar.gz → 2.1.13__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 dataflow-core might be problematic. Click here for more details.
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/PKG-INFO +1 -1
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/__init__.py +3 -1
- dataflow_core-2.1.13/dataflow/models/pod_activity.py +16 -0
- dataflow_core-2.1.13/dataflow/models/pod_session_history.py +16 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/user.py +1 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/schemas/connection.py +4 -4
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/schemas/secret.py +4 -4
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow_core.egg-info/PKG-INFO +1 -1
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow_core.egg-info/SOURCES.txt +2 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/setup.py +1 -1
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/README.md +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/authenticator/__init__.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/authenticator/dataflowairflowauthenticator.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/authenticator/dataflowhubauthenticator.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/authenticator/dataflowsupersetauthenticator.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/__init__.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/configuration.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/database_manager.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/dataflow.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/db.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/environment.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/app_types.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/blacklist_library.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/connection.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/dataflow_zone.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/environment.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/environment_status.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/git_ssh.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/pinned_projects.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/project_details.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/recent_project_studio.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/recent_projects.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/role.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/role_server.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/role_zone.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/server_config.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/session.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/team.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/user_environment.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/user_team.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/models/variables.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/schemas/__init__.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/schemas/git_ssh.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/scripts/clone_environment.sh +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/scripts/create_environment.sh +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/scripts/update_environment.sh +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/secrets_manager/__init__.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/secrets_manager/factory.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/secrets_manager/interface.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/secrets_manager/providers/__init__.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/secrets_manager/providers/aws_manager.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/secrets_manager/providers/azure_manager.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/secrets_manager/service.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/utils/__init__.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/utils/exceptions.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/utils/get_current_user.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/utils/logger.py +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow_core.egg-info/dependency_links.txt +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow_core.egg-info/entry_points.txt +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow_core.egg-info/requires.txt +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow_core.egg-info/top_level.txt +0 -0
- {dataflow_core-2.1.11 → dataflow_core-2.1.13}/setup.cfg +0 -0
|
@@ -20,4 +20,6 @@ from .role_server import RoleServer
|
|
|
20
20
|
from .variables import Variable
|
|
21
21
|
from .recent_project_studio import RecentProjectStudio
|
|
22
22
|
from .connection import Connection
|
|
23
|
-
from .git_ssh import GitSSH
|
|
23
|
+
from .git_ssh import GitSSH
|
|
24
|
+
from .pod_activity import PodActivity
|
|
25
|
+
from .pod_session_history import PodSessionHistory
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey
|
|
2
|
+
from dataflow.db import Base
|
|
3
|
+
|
|
4
|
+
class PodActivity(Base):
|
|
5
|
+
"""Model for tracking active JupyterHub pod sessions"""
|
|
6
|
+
__tablename__ = 'POD_ACTIVITY'
|
|
7
|
+
|
|
8
|
+
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
9
|
+
username = Column(String, ForeignKey('USER.user_name', ondelete="SET NULL"), nullable=True, index=True)
|
|
10
|
+
pod_name = Column(String, nullable=False, unique=True, index=True)
|
|
11
|
+
namespace = Column(String, nullable=False, index=True)
|
|
12
|
+
start_time = Column(DateTime(timezone=True))
|
|
13
|
+
stop_time = Column(DateTime(timezone=True))
|
|
14
|
+
status = Column(String, nullable=False, index=True)
|
|
15
|
+
instance_type = Column(String, index=True)
|
|
16
|
+
node_name = Column(String)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from sqlalchemy import Column, Integer, String, DateTime, Numeric, ForeignKey
|
|
2
|
+
from dataflow.db import Base
|
|
3
|
+
|
|
4
|
+
class PodSessionHistory(Base):
|
|
5
|
+
"""Model for tracking completed JupyterHub user sessions"""
|
|
6
|
+
__tablename__ = 'POD_SESSION_HISTORY'
|
|
7
|
+
|
|
8
|
+
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
9
|
+
username = Column(String, ForeignKey('USER.user_name', ondelete="SET NULL"), nullable=True, index=True)
|
|
10
|
+
pod_name = Column(String, nullable=False, index=True)
|
|
11
|
+
namespace = Column(String, nullable=False, index=True)
|
|
12
|
+
start_time = Column(DateTime(timezone=True))
|
|
13
|
+
stop_time = Column(DateTime(timezone=True), nullable=False)
|
|
14
|
+
session_duration_minutes = Column(Numeric(10, 2))
|
|
15
|
+
instance_type = Column(String, index=True)
|
|
16
|
+
node_name = Column(String)
|
|
@@ -24,6 +24,7 @@ class User(Base):
|
|
|
24
24
|
active_env_type = Column(String, nullable=True)
|
|
25
25
|
current_server = Column(String)
|
|
26
26
|
show_server_page = Column(Boolean, default = True)
|
|
27
|
+
monthly_allocation = Column(Integer, nullable=True, default=0)
|
|
27
28
|
|
|
28
29
|
role_details = relationship("Role")
|
|
29
30
|
|
|
@@ -29,11 +29,11 @@ class ConnectionBase(BaseModel):
|
|
|
29
29
|
import re
|
|
30
30
|
if not isinstance(v, str):
|
|
31
31
|
raise ValueError("Connection ID must be a string.")
|
|
32
|
-
if len(v) >
|
|
33
|
-
raise ValueError("Connection ID must be at most
|
|
34
|
-
if not re.fullmatch(r"[A-Za-z0-
|
|
32
|
+
if len(v) > 30:
|
|
33
|
+
raise ValueError("Connection ID must be at most 30 characters long.")
|
|
34
|
+
if not re.fullmatch(r"[A-Za-z0-9_-]+", v):
|
|
35
35
|
raise ValueError(
|
|
36
|
-
"Connection ID can only contain letters, numbers, and hyphens (-)!"
|
|
36
|
+
"Connection ID can only contain letters, numbers, underscores (_), and hyphens (-)!"
|
|
37
37
|
)
|
|
38
38
|
return v
|
|
39
39
|
|
|
@@ -16,11 +16,11 @@ class SecretBase(BaseModel):
|
|
|
16
16
|
import re
|
|
17
17
|
if not isinstance(v, str):
|
|
18
18
|
raise ValueError("Secret key must be a string.")
|
|
19
|
-
if len(v) >
|
|
20
|
-
raise ValueError("Secret key must be at most
|
|
21
|
-
if not re.fullmatch(r"[A-Za-z0-
|
|
19
|
+
if len(v) > 30:
|
|
20
|
+
raise ValueError("Secret key must be at most 30 characters long.")
|
|
21
|
+
if not re.fullmatch(r"[A-Za-z0-9_-]+", v):
|
|
22
22
|
raise ValueError(
|
|
23
|
-
"Secret key can only contain letters, numbers, and hyphens (-)!"
|
|
23
|
+
"Secret key can only contain letters, numbers, underscores (_), and hyphens (-)!"
|
|
24
24
|
)
|
|
25
25
|
return v
|
|
26
26
|
|
|
@@ -19,6 +19,8 @@ dataflow/models/environment.py
|
|
|
19
19
|
dataflow/models/environment_status.py
|
|
20
20
|
dataflow/models/git_ssh.py
|
|
21
21
|
dataflow/models/pinned_projects.py
|
|
22
|
+
dataflow/models/pod_activity.py
|
|
23
|
+
dataflow/models/pod_session_history.py
|
|
22
24
|
dataflow/models/project_details.py
|
|
23
25
|
dataflow/models/recent_project_studio.py
|
|
24
26
|
dataflow/models/recent_projects.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dataflow_core-2.1.11 → dataflow_core-2.1.13}/authenticator/dataflowsupersetauthenticator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/secrets_manager/providers/__init__.py
RENAMED
|
File without changes
|
{dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/secrets_manager/providers/aws_manager.py
RENAMED
|
File without changes
|
{dataflow_core-2.1.11 → dataflow_core-2.1.13}/dataflow/secrets_manager/providers/azure_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|