Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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 join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants