henribru / google-api-python-client-stubs Goto Github PK
View Code? Open in Web Editor NEWType stubs for google-api-python-client
Home Page: https://pypi.org/project/google-api-python-client-stubs/
License: Apache License 2.0
Type stubs for google-api-python-client
Home Page: https://pypi.org/project/google-api-python-client-stubs/
License: Apache License 2.0
Hi,
First, thanks for maintaining this library.
I'm using google-api-python-client
v1.12.11
in tandem with Airflow 2.6.1's constraints file.
I'm trying to install google-api-python-client-stubs
to match, but not finding any version that pip
is happy with.
If I try google-api-python-client-stubs==1.12.0
I get,
google-api-python-client-stubs 1.12.0 depends on google-api-python-client<3.0.0 and >=2.64.0
The user requested (constraint) google-api-python-client==1.12.11
and if I just specify ``google-api-python-client-stubsin
requirements.txt` and let pip try to figure it out, it tries all the available releases and ends with,
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
Please advise.
Thank you!
My understanding is that these types are auto-generator, can you perform an update and/or publish the generator so this can be done automatically?
E.g. list_next
from the Content API
Could this library be extended to provide stubbing for tests?
I have recently started developing against GCP in python and I really miss the AWS SDK test stubs for Ruby.
If this feels like a good fit, I would be interested in collaborating.
Hi, thanks for the work on this library!
The google-api-python-client library makes available the HttpMock
class for testing purposes (see https://github.com/googleapis/google-api-python-client/blob/master/docs/mocks.md#example)
I don't believe this is compatible with the signature defined at https://github.com/henribru/google-api-python-client-stubs/blob/master/googleapiclient-stubs/discovery.pyi#L346.
Would an |
operator on the types be the change we want here or would you recommend doing something like:
http = Http(HttpMock("test_response.json", {"status": "200"}))
Sorry if I ask, and if I am is because I value this package so good job on that.
But really, what should I do in order to make this work? The documentation doesn't seem to explain much besides installing the package (which I did obviously).
I am using poetry and installed both googleapiclient
and this package using poetry add
. At first I tried installing the stubs in the DEV group, then I also tried in the main group while trying many thing to try and get this working.
So, I'm trying to use Google Calendar API, right?
Basically, if I don't import from googleapiclient._apis.calendar.v3.resources
, I cannot use CalendarResource
because it's undefined, but that import doesn't work! I feel like I'm missing something really simple here, please help. Thank you very much
Similar to #12
There are methods like get_media
and watch_media
that are missing from the stubs
See also:
The methods that google-api-python-client generates at runtime actually has docstrings. It would be useful to add these in the stubs so that they're shown in your IDE
Currently nested resources are defined as nested classes. This is kinda convenient because it means you only need to import the base resource, e.g. you can do from googleapiclient._apis.analytics.v3.resources import AnalyticsResource
and then you can get the nested management resource as AnalyticsResource.ManagementResource
. It also mirrors how you get that nested resource in your code, i.e. management_resource = analytics_resource.management()
. The main issue with this is that it ends up polluting the autocomplete on the resources. For an example, notice how both management
and ManagementResource
show up here:
The question is if it could it be worth restructuring this in some way to avoid this issue
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.