dataflow-core 2.1.31__tar.gz → 2.1.32rc2__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.
Files changed (114) hide show
  1. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/PKG-INFO +1 -1
  2. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/__init__.py +1 -0
  3. dataflow_core-2.1.32rc2/dataflow/models/dbml_diagram.py +58 -0
  4. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/scripts/build_from_upper.sh +1 -1
  5. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow_core.egg-info/PKG-INFO +1 -1
  6. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow_core.egg-info/SOURCES.txt +2 -0
  7. dataflow_core-2.1.32rc2/dfmigration/versions/028_create_diagram_table.py +60 -0
  8. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/setup.py +1 -1
  9. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/README.md +0 -0
  10. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/authenticator/__init__.py +0 -0
  11. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/authenticator/dataflowairflowauthenticator.py +0 -0
  12. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/authenticator/dataflowhubauthenticator.py +0 -0
  13. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/authenticator/dataflowsupersetauthenticator.py +0 -0
  14. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/authenticator/utils/__init__.py +0 -0
  15. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/authenticator/utils/verify_email_domain.py +0 -0
  16. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/__init__.py +0 -0
  17. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/configuration.py +0 -0
  18. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/database_manager.py +0 -0
  19. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/dataflow.py +0 -0
  20. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/db.py +0 -0
  21. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/environment.py +0 -0
  22. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/active_server_view.py +0 -0
  23. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/ai_provider.py +0 -0
  24. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/app_types.py +0 -0
  25. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/blacklist_library.py +0 -0
  26. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/connection.py +0 -0
  27. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/connection_type.py +0 -0
  28. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/container.py +0 -0
  29. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/container_session_history.py +0 -0
  30. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/dataflow_setting.py +0 -0
  31. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/dataflow_zone.py +0 -0
  32. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/environment.py +0 -0
  33. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/environment_status.py +0 -0
  34. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/git_ssh.py +0 -0
  35. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/inference_service.py +0 -0
  36. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/onboarding_project.py +0 -0
  37. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/org_associations.py +0 -0
  38. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/organization.py +0 -0
  39. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/otp.py +0 -0
  40. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/pinned_projects.py +0 -0
  41. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/pod_activity.py +0 -0
  42. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/pod_session_history.py +0 -0
  43. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/project_details.py +0 -0
  44. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/recent_project_studio.py +0 -0
  45. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/recent_projects.py +0 -0
  46. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/role.py +0 -0
  47. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/role_server.py +0 -0
  48. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/role_zone.py +0 -0
  49. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/server_config.py +0 -0
  50. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/session.py +0 -0
  51. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/subscription.py +0 -0
  52. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/team.py +0 -0
  53. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/user.py +0 -0
  54. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/user_team.py +0 -0
  55. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/models/variables.py +0 -0
  56. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/schemas/__init__.py +0 -0
  57. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/schemas/ai_api_key.py +0 -0
  58. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/schemas/connection.py +0 -0
  59. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/schemas/git_ssh.py +0 -0
  60. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/schemas/secret.py +0 -0
  61. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/scripts/clone_environment.sh +0 -0
  62. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/scripts/create_environment.sh +0 -0
  63. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/secrets_manager/__init__.py +0 -0
  64. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/secrets_manager/factory.py +0 -0
  65. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/secrets_manager/interface.py +0 -0
  66. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/secrets_manager/providers/__init__.py +0 -0
  67. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/secrets_manager/providers/aws_manager.py +0 -0
  68. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/secrets_manager/providers/azure_manager.py +0 -0
  69. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/secrets_manager/providers/gcp_manager.py +0 -0
  70. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/secrets_manager/providers/infisical_manager.py +0 -0
  71. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/secrets_manager/providers/ovh_manager.py +0 -0
  72. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/secrets_manager/service.py +0 -0
  73. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/secrets_manager/utils.py +0 -0
  74. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/utils/__init__.py +0 -0
  75. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/utils/blocked_domains.py +0 -0
  76. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/utils/exceptions.py +0 -0
  77. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/utils/get_current_user.py +0 -0
  78. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/utils/local_env_validation.py +0 -0
  79. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow/utils/logger.py +0 -0
  80. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow_core.egg-info/dependency_links.txt +0 -0
  81. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow_core.egg-info/entry_points.txt +0 -0
  82. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow_core.egg-info/requires.txt +0 -0
  83. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dataflow_core.egg-info/top_level.txt +0 -0
  84. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/__init__.py +0 -0
  85. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/env.py +0 -0
  86. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/001_initial_baseline_migration.py +0 -0
  87. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/002_user_onboarding_migration.py +0 -0
  88. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/003_runtime_visibility.py +0 -0
  89. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/004_runtime_custom_image.py +0 -0
  90. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/005_session_table_migration.py +0 -0
  91. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/006_super_admin_migration.py +0 -0
  92. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/007_show_walkthrough_and_org_email_migration.py +0 -0
  93. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/008_costing_migration.py +0 -0
  94. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/009_session_migration.py +0 -0
  95. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/010_add_environment_job_table.py +0 -0
  96. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/011_connection_type_migration.py +0 -0
  97. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/012_app_type_public_and_project_description.py +0 -0
  98. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/013_add_container_table.py +0 -0
  99. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/014_active_server_view_can_spawn.py +0 -0
  100. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/015_add_agent_enabled_org.py +0 -0
  101. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/016_org_server_visibility_controls.py +0 -0
  102. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/017_add_created_at_to_user.py +0 -0
  103. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/018_add_inference_service_table.py +0 -0
  104. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/019_user_onboarding_demo_selection.py +0 -0
  105. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/020_create_onboarding_project_table.py +0 -0
  106. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/021_create_ai_byok_tables.py +0 -0
  107. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/022_shared_airflow_tenancy.py +0 -0
  108. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/023_session_history_table_update_container_table.py +0 -0
  109. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/024_add_status_reason_to_local_environment.py +0 -0
  110. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/025_add_project_preview_image.py +0 -0
  111. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/026_runtime_costing.py +0 -0
  112. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/027_local_environment_workset_columns.py +0 -0
  113. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/dfmigration/versions/__init__.py +0 -0
  114. {dataflow_core-2.1.31 → dataflow_core-2.1.32rc2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dataflow-core
3
- Version: 2.1.31
3
+ Version: 2.1.32rc2
4
4
  Summary: Dataflow core package
5
5
  Author: Dataflow
6
6
  Author-email:
@@ -36,3 +36,4 @@ from .active_server_view import ActiveServerView
36
36
  from .inference_service import InferenceService, InferenceStatus
37
37
  from .onboarding_project import OnboardingProject
38
38
  from .ai_provider import AIProvider, AIModel, AIUserProviderKey
39
+ from .dbml_diagram import Diagram
@@ -0,0 +1,58 @@
1
+ from sqlalchemy import Column, Integer, String, ForeignKey, Text, DateTime, func, Enum, Index, text
2
+ from sqlalchemy.dialects.postgresql import JSONB, UUID
3
+ from dataflow.db import Base
4
+ import uuid
5
+
6
+
7
+ class Diagram(Base):
8
+
9
+ """TABLE 'DBML_DIAGRAM'
10
+
11
+ Stores a user-authored database ER diagram. The DBML source is the single source of
12
+ truth for the schema itself (tables, columns, relationships, header colours); the
13
+ layout column only holds presentation state that DBML has no syntax for, i.e. where
14
+ each table sits on the canvas and the last viewport.
15
+
16
+ Attributes:
17
+ id (int): Primary key for the diagram entry.
18
+ uid (UUID): Public identifier used in URLs, so the internal id is never exposed.
19
+ name (str): Display name of the diagram, unique per user within an organization.
20
+ description (str): Optional description of the diagram.
21
+ org_id (int): Foreign key referencing the ORGANIZATION table.
22
+ user_id (int): Foreign key referencing the USER table (the owner).
23
+ dbml_source (str): The DBML document defining the schema.
24
+ layout (dict): Canvas presentation state. Shape:
25
+ {"tables": {"public.users": {"x": 40, "y": 120}}, "viewport": {"x": 0, "y": 0, "zoom": 1}}
26
+ visibility (str): 'PRIVATE' or 'ORG'. Reserved for org sharing; currently always PRIVATE.
27
+ created_at (datetime): Timestamp of when the diagram was created.
28
+ updated_at (datetime): Timestamp of the last update to the diagram.
29
+ deleted_at (datetime): Soft delete timestamp; NULL while the diagram is active.
30
+
31
+ Constraints:
32
+ Index: Partial unique index ensuring a user cannot have two active diagrams
33
+ with the same name in the same organization.
34
+ """
35
+
36
+ __tablename__ = 'DBML_DIAGRAM'
37
+
38
+ id = Column(Integer, primary_key=True, autoincrement=True, nullable=False)
39
+ uid = Column(UUID(as_uuid=True), default=uuid.uuid4, nullable=False, unique=True, server_default=text("gen_random_uuid()"))
40
+ name = Column(String, nullable=False)
41
+ description = Column(Text, nullable=True)
42
+ org_id = Column(Integer, ForeignKey("ORGANIZATION.id", ondelete="CASCADE"), index=True, nullable=False)
43
+ user_id = Column(Integer, ForeignKey("USER.user_id", ondelete="CASCADE"), index=True, nullable=False)
44
+ dbml_source = Column(Text, nullable=False, server_default='')
45
+ layout = Column(JSONB, nullable=True)
46
+ visibility = Column(Enum("PRIVATE", "ORG", name="diagram_visibility"), default="PRIVATE", server_default="PRIVATE", nullable=False)
47
+ created_at = Column(DateTime(timezone=True), server_default=func.now())
48
+ updated_at = Column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now())
49
+ deleted_at = Column(DateTime(timezone=True), nullable=True)
50
+
51
+ __table_args__ = (
52
+ Index(
53
+ 'uq_active_diagram_name',
54
+ 'name', 'user_id', 'org_id',
55
+ unique=True,
56
+ postgresql_where=deleted_at.is_(None)
57
+ ),
58
+ )
@@ -81,7 +81,7 @@ if [ "$base_prefix" = "$target_prefix" ]; then
81
81
  # mounted. Squash it as-is.
82
82
  squashfs_source="$merged_dir"
83
83
  else
84
- echo "base_prefix} to ${target_prefix}; cloning environment"
84
+ echo "${base_prefix} to ${target_prefix}; cloning environment"
85
85
 
86
86
  export PIP_NO_CACHE_DIR=1
87
87
  export CONDA_PKGS_DIRS="${scratch_dir}/pkgs/${env_name_with_version}/"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dataflow-core
3
- Version: 2.1.31
3
+ Version: 2.1.32rc2
4
4
  Summary: Dataflow core package
5
5
  Author: Dataflow
6
6
  Author-email:
@@ -23,6 +23,7 @@ dataflow/models/container.py
23
23
  dataflow/models/container_session_history.py
24
24
  dataflow/models/dataflow_setting.py
25
25
  dataflow/models/dataflow_zone.py
26
+ dataflow/models/dbml_diagram.py
26
27
  dataflow/models/environment.py
27
28
  dataflow/models/environment_status.py
28
29
  dataflow/models/git_ssh.py
@@ -107,4 +108,5 @@ dfmigration/versions/024_add_status_reason_to_local_environment.py
107
108
  dfmigration/versions/025_add_project_preview_image.py
108
109
  dfmigration/versions/026_runtime_costing.py
109
110
  dfmigration/versions/027_local_environment_workset_columns.py
111
+ dfmigration/versions/028_create_diagram_table.py
110
112
  dfmigration/versions/__init__.py
@@ -0,0 +1,60 @@
1
+ """Create DBML_DIAGRAM table for DBML ER diagrams
2
+
3
+ Revision ID: 028
4
+ Revises: 027
5
+ Create Date: 2026-08-17
6
+ """
7
+ from alembic import op
8
+ import sqlalchemy as sa
9
+ from sqlalchemy.dialects import postgresql
10
+
11
+ revision = "028"
12
+ down_revision = "027"
13
+ branch_labels = None
14
+ depends_on = None
15
+
16
+
17
+ def upgrade():
18
+ op.create_table(
19
+ "DBML_DIAGRAM",
20
+ sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
21
+ sa.Column("uid", postgresql.UUID(as_uuid=True), server_default=sa.text("gen_random_uuid()"), nullable=False),
22
+ sa.Column("name", sa.String(), nullable=False),
23
+ sa.Column("description", sa.Text(), nullable=True),
24
+ sa.Column("org_id", sa.Integer(), sa.ForeignKey("ORGANIZATION.id", ondelete="CASCADE"), nullable=False),
25
+ sa.Column("user_id", sa.Integer(), sa.ForeignKey("USER.user_id", ondelete="CASCADE"), nullable=False),
26
+ sa.Column("dbml_source", sa.Text(), server_default=sa.text("''"), nullable=False),
27
+ sa.Column("layout", postgresql.JSONB(), nullable=True),
28
+ sa.Column(
29
+ "visibility",
30
+ sa.Enum("PRIVATE", "ORG", name="diagram_visibility"),
31
+ server_default=sa.text("'PRIVATE'"),
32
+ nullable=False,
33
+ ),
34
+ sa.Column("created_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
35
+ sa.Column("updated_at", sa.DateTime(timezone=True), server_default=sa.text("now()"), nullable=False),
36
+ sa.Column("deleted_at", sa.DateTime(timezone=True), nullable=True),
37
+ sa.PrimaryKeyConstraint("id"),
38
+ sa.UniqueConstraint("uid", name="uq_diagram_uid"),
39
+ )
40
+
41
+ op.create_index("ix_DBML_DIAGRAM_org_id", "DBML_DIAGRAM", ["org_id"], unique=False)
42
+ op.create_index("ix_DBML_DIAGRAM_user_id", "DBML_DIAGRAM", ["user_id"], unique=False)
43
+
44
+ # A user cannot have two ACTIVE diagrams with the same name in the same org.
45
+ # Soft-deleted rows are excluded so a name can be reused after deletion.
46
+ op.create_index(
47
+ "uq_active_diagram_name",
48
+ "DBML_DIAGRAM",
49
+ ["name", "user_id", "org_id"],
50
+ unique=True,
51
+ postgresql_where=sa.text("deleted_at IS NULL"),
52
+ )
53
+
54
+
55
+ def downgrade():
56
+ op.drop_index("uq_active_diagram_name", table_name="DBML_DIAGRAM")
57
+ op.drop_index("ix_DBML_DIAGRAM_user_id", table_name="DBML_DIAGRAM")
58
+ op.drop_index("ix_DBML_DIAGRAM_org_id", table_name="DBML_DIAGRAM")
59
+ op.drop_table("DBML_DIAGRAM")
60
+ op.execute("DROP TYPE IF EXISTS diagram_visibility")
@@ -14,7 +14,7 @@ class PostInstall(install):
14
14
 
15
15
  setup(
16
16
  name="dataflow-core",
17
- version="2.1.31",
17
+ version="2.1.32rc2",
18
18
  packages=find_packages(include=["dataflow", "dataflow.*", "authenticator", "authenticator.*", "dfmigration", "dfmigration.*"]),
19
19
  include_package_data=True,
20
20
  package_data={