René's URL Explorer Experiment


Title: Feels like we've added a bit more complexity to the datastore API, comments? · Issue #647 · googleapis/google-cloud-python · GitHub

Open Graph Title: Feels like we've added a bit more complexity to the datastore API, comments? · Issue #647 · googleapis/google-cloud-python

X Title: Feels like we've added a bit more complexity to the datastore API, comments? · Issue #647 · googleapis/google-cloud-python

Description: Hi guys, I was reviewing the "state of the world" of the datastore API, and found a few things that seem (to me at least) a bit more complicated than they should be. A bit of this comes from the authentication stuff (which we have anothe...

Open Graph Description: Hi guys, I was reviewing the "state of the world" of the datastore API, and found a few things that seem (to me at least) a bit more complicated than they should be. A bit of this comes from the au...

X Description: Hi guys, I was reviewing the "state of the world" of the datastore API, and found a few things that seem (to me at least) a bit more complicated than they should be. A bit of this comes f...

Opengraph URL: https://github.com/googleapis/google-cloud-python/issues/647

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Feels like we've added a bit more complexity to the datastore API, comments?","articleBody":"Hi guys,\n\nI was reviewing the \"state of the world\" of the datastore API, and found a few things that seem (to me at least) a bit more complicated than they should be.\n\nA bit of this comes from the authentication stuff (which we have another open bug for) but I wanted to bring up a few things for discussion... If this issue gets out of control, we can move the discussion elsewhere, but I wanted to kick things off:\n### Create a new Person entity in the Datastore\n#### What I have to write\n\n``` python\nfrom gcloud import datastore\ndatastore.set_defaults()\nentity = datastore.Entity(key=datastore.Key('Person'))\nentity.update({'name': 'Jimmy'})\ndatastore.put([entity])\n```\n#### What I'd like to write\n\n``` python\nfrom gcloud import datastore\nentity = datastore.Entity('Person')\nentity.update({'name': 'Jimmy'})\nentity.put()\n```\n#### Key differences\n1. no `set_defaults()` (there's another issue open for this I believe)\n2. Create an entity of kind Person without lots more typing (or maybe we get the entity with `datastore.Kind('Person').get_entity()` ?)\n3. `.put` not requiring a list for a single entity\n### Get an existing Person (123) from the Datastore\n#### What I have to write\n\n``` python\nfrom gcloud import datastore\ndatastore.set_defaults()\nentity = datastore.get(datastore.Key('Person', 123))\n```\n#### What I'd like to write\n\n``` python\nfrom gcloud import datastore\ndatastore.set_defaults()\nentity = datastore.Kind('Person').get_by_id(123)\n```\n#### Key differences\n1. No `set_defaults`\n2. Equivalent of \"drilling down\" into a \"table\" (kind), and then a \"row\" (id)\n\n_(Not hugely concerned about this use case, but wanted to toss it out)_\n### Create a new Person using a specific set of credentials (`/home/creds.json`) to talk to a specific dataset (`'my-dataset'`) in the Datastore\n\n(Being looked into in PR https://github.com/GoogleCloudPlatform/gcloud-python/pull/641)\n#### What I have to write\n\n_(This is a best guess... I don't know if this code is even right... And even so, this code won't do the same thing if you ran it on App Engine because of the order of evaluation here: http://googlecloudplatform.github.io/gcloud-python/latest/gcloud-api.html#gcloud.credentials.get_credentials )_\n\n``` python\nimport sys\nsys.env['GOOGLE_APPLICATION_CREDENTIALS'] = '/home/creds.json'\n\nfrom gcloud import datastore\ndatastore.set_defaults()\nentity = datastore.Entity(key=datastore.Key('Person', dataset_id='my-dataset'))\nentity.update{'name': 'Jimmy'})\ndatastore.put(entity)\n```\n#### What I'd like to write\n\n``` python\nfrom gcloud import datastore\ndatastore.set_credentials('/home/creds.json')\ndataset = datastore.Dataset('my-dataset')\nentity = dataset.Entity('Person')\nentity.update({'name': 'Jimmy'})\nentity.put()\n```\n#### Key differences\n1. Simple in-code way to set which credentials file to use\n2. High-level concept of a dataset\n3. Datasets can provide Entities just like `datastore` would\n\n/cc @tseaver @dhermes @pcostell \n","author":{"url":"https://github.com/jgeewax","@type":"Person","name":"jgeewax"},"datePublished":"2015-02-15T19:02:59.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":10},"url":"https://github.com/647/google-cloud-python/issues/647"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:7d509747-21a3-b711-7bc7-b91ef2101c81
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id817E:ED0C6:171E0D3:2012647:6A4DF69A
html-safe-nonce89f019f5f6377512c1e359bb5549daf81992e4275c739f81f837503ab0de4f0b
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MTdFOkVEMEM2OjE3MUUwRDM6MjAxMjY0Nzo2QTRERjY5QSIsInZpc2l0b3JfaWQiOiIzNzc5ODEwNjgyNzQxNjk0OTgiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac960681e4ac376968253af3dc11ccb33a09d831f0c038784860ee3a139a3f6759
hovercard-subject-tagissue:57741401
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/googleapis/google-cloud-python/647/issue_layout
twitter:imagehttps://opengraph.githubassets.com/e8549b045d218095014b6cd6b282fb96494bba3a770678a794847d6b99139944/googleapis/google-cloud-python/issues/647
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/e8549b045d218095014b6cd6b282fb96494bba3a770678a794847d6b99139944/googleapis/google-cloud-python/issues/647
og:image:altHi guys, I was reviewing the "state of the world" of the datastore API, and found a few things that seem (to me at least) a bit more complicated than they should be. A bit of this comes from the au...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamejgeewax
hostnamegithub.com
expected-hostnamegithub.com
None5818716c93c6a2925b815402541a32814e43a7b1261c322b0c2df75224289566
turbo-cache-controlno-preview
go-importgithub.com/googleapis/google-cloud-python git https://github.com/googleapis/google-cloud-python.git
octolytics-dimension-user_id16785467
octolytics-dimension-user_logingoogleapis
octolytics-dimension-repository_id16316451
octolytics-dimension-repository_nwogoogleapis/google-cloud-python
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id16316451
octolytics-dimension-repository_network_root_nwogoogleapis/google-cloud-python
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasef4bb89367ca678f057d79b1abc45d6675b1bd5b2
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/googleapis/google-cloud-python/issues/647#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fgoogle-cloud-python%2Fissues%2F647
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fgoogle-cloud-python%2Fissues%2F647
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=googleapis%2Fgoogle-cloud-python
Reloadhttps://github.com/googleapis/google-cloud-python/issues/647
Reloadhttps://github.com/googleapis/google-cloud-python/issues/647
Reloadhttps://github.com/googleapis/google-cloud-python/issues/647
Please reload this pagehttps://github.com/googleapis/google-cloud-python/issues/647
googleapis https://github.com/googleapis
google-cloud-pythonhttps://github.com/googleapis/google-cloud-python
Notifications https://github.com/login?return_to=%2Fgoogleapis%2Fgoogle-cloud-python
Fork 1.7k https://github.com/login?return_to=%2Fgoogleapis%2Fgoogle-cloud-python
Star 5.3k https://github.com/login?return_to=%2Fgoogleapis%2Fgoogle-cloud-python
Code https://github.com/googleapis/google-cloud-python
Issues 439 https://github.com/googleapis/google-cloud-python/issues
Pull requests 132 https://github.com/googleapis/google-cloud-python/pulls
Discussions https://github.com/googleapis/google-cloud-python/discussions
Actions https://github.com/googleapis/google-cloud-python/actions
Projects https://github.com/googleapis/google-cloud-python/projects
Security and quality 0 https://github.com/googleapis/google-cloud-python/security
Insights https://github.com/googleapis/google-cloud-python/pulse
Code https://github.com/googleapis/google-cloud-python
Issues https://github.com/googleapis/google-cloud-python/issues
Pull requests https://github.com/googleapis/google-cloud-python/pulls
Discussions https://github.com/googleapis/google-cloud-python/discussions
Actions https://github.com/googleapis/google-cloud-python/actions
Projects https://github.com/googleapis/google-cloud-python/projects
Security and quality https://github.com/googleapis/google-cloud-python/security
Insights https://github.com/googleapis/google-cloud-python/pulse
Feels like we've added a bit more complexity to the datastore API, comments?https://github.com/googleapis/google-cloud-python/issues/647#top
https://github.com/jgeewax
api: datastoreIssues related to the Datastore API.https://github.com/googleapis/google-cloud-python/issues?q=state%3Aopen%20label%3A%22api%3A%20datastore%22
type: questionRequest for information or clarification. Not an issue.https://github.com/googleapis/google-cloud-python/issues?q=state%3Aopen%20label%3A%22type%3A%20question%22
https://github.com/jgeewax
jgeewaxhttps://github.com/jgeewax
on Feb 15, 2015https://github.com/googleapis/google-cloud-python/issues/647#issue-57741401
#641https://github.com/googleapis/google-cloud-python/pull/641
http://googlecloudplatform.github.io/gcloud-python/latest/gcloud-api.html#gcloud.credentials.get_credentialshttp://googlecloudplatform.github.io/gcloud-python/latest/gcloud-api.html#gcloud.credentials.get_credentials
@tseaverhttps://github.com/tseaver
@dhermeshttps://github.com/dhermes
@pcostellhttps://github.com/pcostell
jgeewaxhttps://github.com/jgeewax
api: datastoreIssues related to the Datastore API.https://github.com/googleapis/google-cloud-python/issues?q=state%3Aopen%20label%3A%22api%3A%20datastore%22
type: questionRequest for information or clarification. Not an issue.https://github.com/googleapis/google-cloud-python/issues?q=state%3Aopen%20label%3A%22type%3A%20question%22
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.