-
-
Notifications
You must be signed in to change notification settings - Fork 836
Replace most of sage.libs.gap with gappy #31404
Description
From the gappy README:
gappy provides a Python interface to the GAP
computer algebra system by linking to its
library interface.
This is a follow-up to #31297, particularly inspired by #31297 comment:17. It is a more disruptive change, in that instead of providing wrappers around gappy that are Sage Parents and Elements, it follows the example of cypari2 and just uses gappy more-or-less directly without any wrappers.
It remains completely agnostic to the coercion system, though I am not completely happy with this state of affairs. In particular you can see I had to add a special case to Polynomial.__call__ for handling evaluating polynomials on GapObjs, a case that used to work fine, but now needs a special case since other Sage types cannot be coerced to GapObjs.
Also had to add special cases for instantiating Integers and Rationals from GapObjs, but on the plus side this is now a bit faster.
Upstream: Reported upstream. No feedback yet.
CC: @videlec @dimpase @mkoeppe @slel
Component: interfaces
Keywords: gap libgap gappy
Work Issues: release gappy 0.1.0 final and update spkg version before merging, test against p_groups_cohomology
Author: Erik Bray
Branch/Commit: u/dimpase/gappy-without-wrappers @ 3f1d051
Reviewer: Dima Pasechnik, ...
Issue created by migration from https://trac.sagemath.org/ticket/31404