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

Python is Cool. Python is Great.

I've immersed myself in programming with the easiest language to learn, and I'm currently trying to make my own command line utility for training the agents in The Companions Project . Sure, I may know jack squat about how to implement machine learning on the scale I wish to happen, but I do know one vital aspect of it: Python . Python compared to Java is the equivalent of Chinese checkers to chess . Chinese checkers is incredibly easy to learn but understandably difficult to master. Chess has a higher barrier to entry, but once you're over the wall, one can has some very complex possibilities to learn. While I now see programming in Python is incredibly simpler to begin, my Java-minded self took a quick look at the syntax and only bothered to look at code snippets to scare me into believing that Python is the language of the devil with forced indentation and syntax like this: class HelloWorld:     def hello(self, name=None):         if name is ...

Good Morning

It's a bright new day in 2017, and I've finally decided to host some public record of my life to preserve what little scraps of me survive after my death (that is if my consciousness isn't uploaded to data center by then). Slight morbidity aside, my ambitions for world domination are intensifying daily as I sit in my chair, mumbling to myself about ideas only a few in a hundred mile radius would even care about or understand. Current State of Affairs Without exposing any bank account-vital security question information, I'll discuss the most easily recognizable parts of my life: I live in Converse, TX , a small town of around 20,000 whose only job is to contribute to the San Antonio Metropolitan Statistical Area; basically, my municipality exists to act as a statistic. I attend Samuel Clemens High School as a sophomore who can't engage in many if any extracurricular events because of the following reason. During evenings, I attend my father's (master...