Skip to content

abacuslite should be independent repo as submodule in abacus/interfaces #8165

Open

Description

@QuantumMisaka

Background

Now abacuslite as modern ase-abacus interfaces is targeted as ase plugin and maintained in abacus/interface directory, which is not easy to install and distributed via PyPI and other commonly-used Python channel.

Describe the solution you'd like

I've developed https://github.com/QuantumMisaka/abacuslite as indenpendent channel and I'm checking github CI test for both abacuslite to abacus and abacuslite to atst-tools. Once finished, I'll open a PR to change abacuslite in abacus/interfaces as a submodule and running github CI test via pip install abacuslite

Task list only for developers

  • Notice possible changes of behavior
  • Explain the changes of codes in core modules of ESolver, HSolver, ElecState, Hamilt, Operator or Psi

Notice Possible Changes of Behavior (Reminder only for developers)

No response

Notice any changes of core modules (Reminder only for developers)

No response

Notice Possible Changes of Core Modules (Reminder only for developers)

No response

Additional Context

No response

Task list for Issue attackers (only for developers)

  • Review and understand the proposed feature and its importance.
  • Research on the existing solutions and relevant research articles/resources.
  • Discuss with the team to evaluate the feasibility of implementing the feature.
  • Create a design document outlining the proposed solution and implementation details.
  • Get feedback from the team on the design document.
  • Develop the feature following the agreed design.
  • Write unit tests and integration tests for the feature.
  • Update the documentation to include the new feature.
  • Perform code review and address any issues.
  • Merge the feature into the main branch.
  • Monitor for any issues or bugs reported by users after the feature is released.
  • Address any issues or bugs reported by users and continuously improve the feature.

Activity

  1. added
    InterfacesInterfaces with other packages
    Tests/ExamplesIssues/PR related to unit tests and integrate tests
    on Oct 17, 2026
  2. Growl1234 commented on Oct 18, 2026

    @Growl1234

    change abacuslite in abacus/interfaces as a submodule

    Then you are effectively breaking the git archive export on GitHub website, as interfaces/ASE_interface/abacuslite will be empty. Please consider making abacuslite either fully internal or fully external (i.e. no submodule as a middle case).

  3. QuantumMisaka commented on Oct 18, 2026

    @QuantumMisaka
    CollaboratorAuthor

    3. > change abacuslite in abacus/interfaces as a submodule

    Then you are effectively breaking the git archive export on GitHub website, as `interfaces/ASE_interface/abacuslite` will be empty. Please consider making abacuslite either fully internal or fully external (i.e. no submodule).
    

    OK,I'll consider fully external with collaborating mechanism and CI test

  4. QuantumMisaka commented on Oct 18, 2026

    @QuantumMisaka
    CollaboratorAuthor

    Implementation PR: #8175.

    Following this discussion, the adopted design is fully external rather than a submodule: abacuslite is installed as a normal Python package, ABACUS keeps only the engine-side compatibility harness under interfaces/ASE_interface/tests, and both repositories run cross-repository CI checks. The PR also makes the abacus.socket.properties.v1 contract and its change rule explicit. LTS workflow adoption is tracked separately. The PR is linked as closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

InterfacesInterfaces with other packagesTests/ExamplesIssues/PR related to unit tests and integrate tests

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions