Skip to content
This repository has been archived by the owner on Jan 2, 2025. It is now read-only.

Use doppel-cli to keep the Python and R clients' interfaces identical #13

Open
jameslamb opened this issue Aug 9, 2019 · 3 comments
Open
Labels
ci enhancement New feature or request help wanted Extra attention is needed

Comments

@jameslamb
Copy link
Collaborator

See docs in https://github.com/jameslamb/doppel-cli for examples. Basically I think it would be valuable for the R and Python clients to have identical interfaces.

@jameslamb jameslamb added enhancement New feature or request help wanted Extra attention is needed ci labels Aug 9, 2019
@jayqi
Copy link
Contributor

jayqi commented Aug 14, 2019

I ran doppel-cli on groundhog and the out put is below:

Function Count
==============
+----------------------+-----------------+
|   groundhog [python] |   groundhog [r] |
+======================+=================+
|                    1 |               1 |
+----------------------+-----------------+


Function Names
==============
+-----------------------+----------------------+-----------------+
| function_name         | groundhog [python]   | groundhog [r]   |
+=======================+======================+=================+
| append_slope_features | yes                  | no              |
+-----------------------+----------------------+-----------------+
| AppendSlopeFeatures   | no                   | yes             |
+-----------------------+----------------------+-----------------+


Function Argument Names
=======================
No shared functions.

Class Count
===========
+----------------------+-----------------+
|   groundhog [python] |   groundhog [r] |
+======================+=================+
|                    1 |               0 |
+----------------------+-----------------+


Class Names
===========
+-----------------+----------------------+-----------------+
| class_name      | groundhog [python]   | groundhog [r]   |
+=================+======================+=================+
| GroundhogClient | yes                  | no              |
+-----------------+----------------------+-----------------+


Class Public Methods
====================
No shared classes.

Arguments in Class Public Methods
=================================
No shared classes.

Test Failures (4)
===================
1. Function 'append_slope_features()' is not exported by all packages

2. Function 'AppendSlopeFeatures()' is not exported by all packages

3. Packages have different counts of exported classes! groundhog [python] (1), groundhog [r] (0)

4. Class 'GroundhogClient' is not exported by all packages

@jayqi
Copy link
Contributor

jayqi commented Aug 14, 2019

Not sure about the best way to reproduce GroundhogClient in the R package. Implementing with R6 would be the simplest way, but that adds a dependency.

We could try potentially doing it with References Classes.

(I know doppel-cli does not currently support checking reference classes per description in this issue jameslamb/doppel-cli#2 )

@jameslamb
Copy link
Collaborator Author

I think the R6 dependency for an R client is ok. Alternatively, we could treat the class as an internal detail and bring the APIs in line by internalizing GroundhogClient on the Python side.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
ci enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants