Skip to main content

Started on RESTful API + Flask + Python

Started experimenting on RESTful API.

Actually, I always doubt the necessity of the name 'RESTful API' or microservice... There're already web pages for years. Yes, you read it right, 'WEB PAGE'. If any programmer ever worked on assembling web pages: filling queried results into blank area, and then sending out the whole content, REST API on server side seems to be sending data without decoration.... 

I didn't mean that modern technique is simple. Decode the structure designed by others is a kind of art. I do respect all designers. I just think passing data between devices is not something new.... Maybe, it's because I wrote network sockets in very early days....

It's kind of difficult for me to choose section of codes that represents REST API... This is an example of server-side web API. 



So I chose filter for queried data.. sqlight3 allowed developer to register a processing function to deal with our own data. This technique is not uncommon. Often I'm lazy to work on functionalities that already provided. There are plenty of new things waiting for exploring, right? Time is precious! Here the filter function put data into dict objects. 

At this example, the designer is humble, saying that this can only be called as WEB API. REST API are more carefully defined in structure. 




Trying on using other's REST API are interesting. Here are URLs to query information about astronaut and international space station.  REST examples without authentication. 





This is an redesigned example that querying REST API provided by Last.gm. Not completed yet. As the tutorial designer mentioned that exploiting the APIs may get me be banned from using... I took time to create stages trying to reduce my query and still able to make bunch of tests on data analysis. 

Package argparse here is interesting. Its documentation is not clear.... Its weird. I read more definition on other's experiment... With all those spec, it is an interesting tool that could dynamically raise suggestions and help information. Quite good! 

Comments

Popular posts from this blog

Guide to Preserving HuggingFace Models in Google Colab Environments

Conclusion:  Step 1:  find the model path: ls ~/.cache  Step 2:  Copy the entire folder to Google Drive:  Step 3:  Set model path to the subfolder under snapshot: My Story: I initially began exploring Generative AI (GAI) and Google Colab through Stable Diffusion. In the past, as I mainly wrote server services and console applications, I was less familiar with data science modes like R and Jupyter that can maintain a paused state. I didn't quite understand the heavy burden on Colab of creating a temporary Stable Diffusion WebUI with .ipynb, as suggested by popular guides. I just found it troublesome that connections often took a long time and then dropped, requiring a restart. Recently, while testing new versions of the Stable Diffusion model, and facing challenges due to Colab's policies making various versions of WebUI difficult to run successfully, I started researching how to write my own test programs in Colab. Eventually, I understood that Colab is ess...

docker: storage and services

Docker Volume Without going through Docker, accessing files within a Docker image is not easy. Therefore, Docker has a volume feature that allows users to specify the location on the host file system to serve as the access directory for Docker. In other words, a volume is the NFS of a Docker image. Example: Using a volume to store SQLite files. ref:  SQLite for NodeJS: https://www.sqlitetutorial.net/sqlite-nodejs/ Initialize the project. # Setup ExpressJS framework express --view=pug 240324_ejs_sqlite_docker npm init npm install express npm install sqlite3 Test: npm start Initialize docker  Since the directory already contains NodeJS, the Docker Daemon will assist in the setup. Create new docker image docker build -t atfuture7/sqlite01 . Create a folder for Docker, create a container, run it.  mkdir docker_vol docker run -p 3000:3000 -v ./docker_vol:/data --name exp_sqlite atfuture7/sqlite01 After confirming that the container can run co...

Review old/new stuff: Angular 17

When I reviewed Angular recently, I discovered that it had just undergone a major revision three months ago, v17. The notes here are summaries of common features incorporated into v17. Install Angular ref: https://angular.io/guide/setup-local npm install -g @angular/cli Create new project ng new proj_name cd proj_name If the old project needs to be migrated to v17 control flow: ref: https://youtu.be/36Hcx7kRYDg?si=pmZcRkQHIlmguK3K ng generate @angular/core:control-flow Activate  ng serve Data Flow ref: https://angular.io/tutorial/first-app/first-app-lesson-09 Service can be regarded as a custom class (similar to custom modules written in expressJS) ng generate service obj_name In the sample program, enumeration of array is used. this.housingLocationList.find(housingLocation => housingLocation.id === id); The concept is  find( function(element) => { return (condition; )}) ref:  https://developer.mozilla.org/en-US/docs/Web/JavaScript...