Skip to content

Split dial_dataclass and dial_service into separate packages #45

Description

@Lance-Drane
  • Separate project into two separate UV workspaces (dial_dataclass and dial_service)
  • Make sure that users are still able to install the workspaces from source with standard pip commands (UV only required for development team)
  • Make sure that we publish the dial_dataclass version to PyPI
  • Make sure we build Docker containers with dial_service
  • dial_dataclass package should ONLY have Pydantic as a dependency, all other dependencies i.e. INTERSECT-SDK should be specified on dial_service

This approach may also require a rethinking of how we organize the repository (including tags); ideally we keep this as a monorepo, because that makes development much easier:

  • For version management of dial_dataclass and dial_service, we can always bump the dial_service version separately. If we need to bump the dial_dataclass version then we can have it "skip" some versions to catch back up to dial_service. For example, the following table shows an example where we want to push out a version of dial_service where we make no changes to dial_dataclass:
dial_dataclass dial_service
0.2.0 0.2.0
0.2.0 0.2.1
0.2.2 0.2.2

This means that we don't really have to change how CI/CD is set up, and we can have Git tags be representative of dial_service .

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions