Skip to main content

Adventures with a Google Python Client API

I've been screwing around with Google's Sheets API client library. I've finally produced something barely accomplishing: a Python script that reads the values from a spreadsheet I'm using as the temporary machine learning training and testing data source for The Companions Project.


The sheet that will house companion training data
Success in the PyCharm console

Sure, I don't know any practical information on how to implement machine learning, but I'll get there. I at least know the basic process: get data, format data/create labels, train model, test model, and repeat training and testing until model is sufficient for job.

In other news, I contacted my likely computer science teacher for next year, Mr. Burton, about the club I'll have to make. Obviously, he didn't respond as it's the weekend, but I'm awaiting his response.

Today, I've finally figured out why The Companions Project's deployment to Google App Engine showed GET errors when going to the site. Turns out a small tag was the cause: secure: always. In an app deployed to GAE, the app.yaml file tells GAE how to handle requests. The "always" part of the tag means that the server will force HTTPS to serve static resources, something I am still in the process of setting up. In fact, that's what I spent four hours trying to do today before I gave up. It turns out GAE doesn't automatically provision HTTPS certificates for your custom domain, so I had to search website after website to find a guide that told me how to manually create the certificates with certbot.
Site note: I find it odd Firebase Hosting automatically provisions HTTPS certificates while Google App Engine doesn't even provide that option. Perhaps it's because Firebase is supposed to be a fully integrated platform for developers and Google Cloud Platform is sort of WYSIWYG. I thought Google really wanted to encrypt the web, so automatically issuing HTTPS certificates for App Engine apps would really help with that goal.

I should really finish my homework now, but I suppose today's troubles are tomorrow's history.

Comments

Popular posts from this blog

Countdown to I/O

This is going to be the second year I've witnessed I/O live(streamed), from school, nonetheless. While I'm hoping Google announces some bombshell that is going to give them some massive monopoly, I, containing bouts of cynicism inside, expect a bit less. Firebase, Firebase When Google announced Firebase last year, I shook and shivered with excitement. I thought, "An integrated mobile and web development backend I could use to make anything? Sign me up." Of course, Firebase got better with new features like Cloud Functions, but I don't think Google is done with it - they're not even close. While I know just as much as anyone not at Google about the announcements to take place in less than five to six hours, I'm sure Google is going to announce more integration with their Cloud Platform. Cloud Functions was the beginning of Firebase adding functionality to a "consumerized" cloud, if you will. The rest of Google Cloud Platform will be for anyon...

Summer Break 2017, Day 2 of 83: All Hail the Schedule

I think the plan's working; I'm already motivated to accomplish everything I've planned in The Schedule . Thanks to Google Calendar, I have the flexibility to change what I do on a daily basis. (I know, it's like I'm a spokesperson for Google right now, but you haven't seen half of it.) With Calendar's goals feature, I specify frequency and position of goals I want to accomplish, and machine learning ensures the times work out for me. Sure, it's a bit finicky right now, but at least I didn't have to make a hundred something event times for goals that don't have entirely consistent definite start and end time. MOOCs and More Because of my existing knowledge and experience with Udacity , I've decided to use their online courses to enrich my currently unstructured learning. Here's everything scheduled to be completed during the summer: Introduction to Machine Learning (the big one, the real thing I want to accomplish) Introd...

Summer Break 2017, Day 3 of 83: Naive Bayes?

Did Thomas Bayes ever think a small part to proving God's existence would be used in machines to classify data? I don't know, and most of us don't care. I'm waiting to use this and other algorithms in production to something I can showcase. Progress I am almost done with the second lesson of Udacity's introduction to machine learning course. The lesson, titled "Naive Bayes" reveals exactly the topic of discussion. Continuing with my goal, I've taken detailed notes about an example relating to the probability of having cancer based on a test. Because of my excitement, I've created a Python virtual environment for machine learning-related packages including TensorFlow, Scikit-learn, and numpy. I've already played around with inputting different values into a Bayes classifier. In terms of scheduling, today was actually a bland day with only four events (besides this) scheduled. Tomorrow has eight activities to occupy my day including l...