From f48fdc67b322700c680d3b468e1cf74e6c196120 Mon Sep 17 00:00:00 2001 From: Priyanshu Nayan Date: Wed, 20 Jan 2021 17:09:08 +0530 Subject: [PATCH 1/5] tutorial for setting up and running hydrus --- docs/doczrc.js | 2 +- docs/src/content/tutorial/first.md | 24 ---- .../tutorial/setting_and_running_hydrus.md | 135 ++++++++++++++++++ docs/src/styles/global.css | 9 +- 4 files changed, 144 insertions(+), 26 deletions(-) delete mode 100644 docs/src/content/tutorial/first.md create mode 100644 docs/src/content/tutorial/setting_and_running_hydrus.md diff --git a/docs/doczrc.js b/docs/doczrc.js index f0b27e4..cc033ac 100644 --- a/docs/doczrc.js +++ b/docs/doczrc.js @@ -3,7 +3,7 @@ export default { menu:[ "Welcome to Hydra Ecosystem Docs", "Quickstart", - {name: 'Tutorial', menu:['First Tutorial']}, + {name: 'Tutorial', menu:['Setting up and Running Hydrus']}, {name: 'How To Guides', menu: ['First How to Guide']}, {name: 'Conceptual Guides', menu: ['Conceptual Guide 1']}, {name: 'Modules', menu: ['Hydra in Depth']}, diff --git a/docs/src/content/tutorial/first.md b/docs/src/content/tutorial/first.md deleted file mode 100644 index 8a1d209..0000000 --- a/docs/src/content/tutorial/first.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -name: First Tutorial -menu: Tutorial ---- - -# First Tutorial - -## How to say hello in Python? - -```python - import __hello__ - def hello(): - print("Hello there, again") - -``` - -## How to say hello in Python Again? - -```python - import __hello__ - def hello(): - print("Hello there, again") - -``` diff --git a/docs/src/content/tutorial/setting_and_running_hydrus.md b/docs/src/content/tutorial/setting_and_running_hydrus.md new file mode 100644 index 0000000..6bc7431 --- /dev/null +++ b/docs/src/content/tutorial/setting_and_running_hydrus.md @@ -0,0 +1,135 @@ +--- +name: Setting up and Running Hydrus +menu: Tutorial +--- + +# Setting Up and Running hydrus + +> This tutorial assumes you have a basic understanding of python programming language, Hydra, API documentation created using Hydra, Linked Data, web servers, and REST APIs. + +You will learn about `hydrus` and be able to set up and run `hydrus` in two different ways after following this document. + +[`hydrus`](https://github.com/HTTP-APIs/hydrus) is a generic server that can serve required data and metadata(in the form of API documentation) to a client over HTTP. It utilises the power of Linked Data to create powerful REST APIs to serve data. Hydrus uses the Hydra(W3C) standard for the creation and documentation of its APIs. + +`hydrus` can be used in two different ways. + +1. As a python package. +2. As a Command Line Interface. (CLI). + +## Using hydrus as a Python Package + +`hydrus` makes creating and spinning up a semantic web server easy by giving the developers ability to import it as a python package. It provides intuitive interfaces to work with and can be easily configured according to one's preferences. + +To use it as a python package follow the steps below: + +1. Navigate into the `creating_api_doc` directory as created in tutorial 2 [Insert link] +2. Activate the virtual environment by typing `source activate` +3. Create a new file `index.py`. This file will use `hydrus` to spin up a semantic web server. +4. Run `pip install git+https://github.com/HTTP-APIs/hydrus.git#egg=hydrus` (This step can be little tricky as hydrus depends on few platform dependent packages, be sure to check out FAQs if you face any problem). +5. In the `index.py` file start by importing required modules. + +```python +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker + +from hydrus.app_factory import app_factory +from hydrus.utils import set_session, set_doc, set_hydrus_server_url, set_api_name +from hydra_python_core import doc_maker +from hydrus.data.db_models import Base +from api_doc_output import doc +``` + +The above code sample imports: + +- `create _engine` - The database models use SQLAlchemy as an ORM Layer, mapping relations to Python Classes and Objects. The `create_engine` method creates the Engine. An Engine is the starting point for any SQLAlchemy Application.This engine acts as a connection on which we can create sessions to interact with the database. +- `sessionmaker` - It generates a new session when invoked. +- `app_factory` - This method takes in API_NAME has a parameter. It creates an API with all routes of the app directed at /[API_NAME]. +- `set_session`, `set_doc`, `set_hydrus_server_url`, `set_api_name` are setters which set DB session, docs, server_url and api_name respectively. These methods put together all the things required to run `hydrus`. +- `doc_maker` from the [core library](https://github.com/HTTP-APIs/hydra-python-core) to create the APIDoc. +- `Base` class constructs a base class for declarative class definition. `hydrus` defines models by subclassing the Base class. `hydrus` has its own database models that are generic and can be used for most of the APIs. +- `doc` - The APIDoc of movie API generated in Tutorial 2 [Insert Link] + +6. Define params, add the models to DB and start the DB session: + +```python +#Define the server URL, this is what will be displayed on the Doc +HYDRUS_SERVER_URL = "http://localhost:8080/" + +#The name of the API or the EntryPoint, the api will be at http://localhost/ +API_NAME = "api" +# Define the Hydra API Documentation +# NOTE: You can use your own API Documentation and create a HydraDoc object using doc_maker +# Or you may create your own HydraDoc Documentation using doc_writer +apidoc = doc_maker.create_doc(doc, HYDRUS_SERVER_URL, API_NAME) +# Define the database connection. Any Database can be used. +engine = create_engine('sqlite:///database.db') +# Add the required Models to the database +Base.metadata.create_all(engine) +# Start a session with the DB and create all classes needed by the APIDoc +session = sessionmaker(bind=engine)() +``` + +The above code sample: + +- Assigns hydrus_server_url to “http://localhost:8080”. This sets the base url in the APIDoc. +- Assigns the api_name to “api”. +- Creates the APIDoc from the `doc_maker` module by hydra_python_core. It converts the doc into Python classes which hydrus and agent can understand. +- Creates the SQL Alchemy engine. (Note that we have used SQLite as a database here, but other databases can also be used here. List of supported databases [here](https://docs.sqlalchemy.org/en/13/orm/tutorial.html).) +- Adds all the predefined models to the database. +- Starts the Database session. + +7. Create a hydrus app and start the server + +```python + +# Create a hydrus app with the API name you want, default will be "api" +app = app_factory(API_NAME) + +# Set the name of the API +with set_api_name(app, API_NAME): + # Set the API Documentation + with set_doc(app, apidoc): + # Set HYDRUS_SERVER_URL + with set_hydrus_server_url(app, HYDRUS_SERVER_URL): + # Set the Database session + with set_session(app, session): + # Start the hydrus app + app.run(host='127.0.0.1', debug=True, port=8080) +``` + +The above code sample: + +- Creates a new hydrus app and gives it a name. +- Calls the setter functions defined in the `hydrus.utils` module, the use of these pluggable methods requires an app context which is a variant of the Python context, similar to the request context in most servers. Due to this, the Python keyword with must be used to create a context in which the application must run. +- Finally, runs the app at http://localhost:8080/api in debug mode. + +> Note: The `hydrus` app is a modified instance of the Flask app with the required operations and routes predefined. All options and operations on the app object will be the same as those done in the Flask app. + +8.Start the app by `python3 index.py` in the terminal. + +9.Browse http://localhost:8080/api to see the response! + +The complete `index.py` file can be found [here](https://gist.github.com/priyanshunayan/a2de41705aaf9fd0e43508ef12a916f4) + +## Using hydrus as a Command Line Interface (CLI) + +`hydrus` can be used a Command Line Interface (CLI). The CLI can be used to quickly start a server. `hydrus` can take in number of arguments. An example is `hydrus serve --api hydrus --port 9000 --adduser 1 test2`. This command starts the server, names the API as hydrus and serves at port 9000. + +To use `hydrus` as CLI, follow the steps: + +1. Install hydrus from git: `git clone https://github.com/hydrus.git` +2. Navigate to `hydrus` directory by running `cd hydrus` +3. Create a virtual environment by `python3 -m venv venv` +4. Activate the virtual environment by `source activate` +5. Install requirements of hydrus by: `pip install -r requirements.txt` +6. Run `python3 setup.py install` +7. Run `hydrus serve --no-auth` (--no-auth param disables the authentication. See hydrus --help for more options). +8. Browse http://localhost:8080/api to see the response + +### In this tutorial, you learned about: + +1. hydrus - a semantic web server +2. Using hydrus as python package +3. Using hydrus as Command Line Interface. + +Now move on to the next tutorial *Using hydrus to make CRUD operations* ➡️ diff --git a/docs/src/styles/global.css b/docs/src/styles/global.css index 691a5c9..77a14c5 100644 --- a/docs/src/styles/global.css +++ b/docs/src/styles/global.css @@ -1,5 +1,12 @@ @import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap"); -* { +body, +p, +h1, +h2, +h3, +h4, +h5, +h6 { font-family: "Roboto", sans-serif !important; } From 44647bc9ee88352134d66e6baa8a3fe8f7935854 Mon Sep 17 00:00:00 2001 From: Priyanshu Nayan Date: Sat, 13 Feb 2021 20:08:23 +0530 Subject: [PATCH 2/5] add create_database_tables and DB schema --- .../tutorial/setting_and_running_hydrus.md | 48 +++++++++++------- docs/static/images/db-structure.png | Bin 0 -> 142780 bytes 2 files changed, 29 insertions(+), 19 deletions(-) create mode 100644 docs/static/images/db-structure.png diff --git a/docs/src/content/tutorial/setting_and_running_hydrus.md b/docs/src/content/tutorial/setting_and_running_hydrus.md index 6bc7431..6f63dae 100644 --- a/docs/src/content/tutorial/setting_and_running_hydrus.md +++ b/docs/src/content/tutorial/setting_and_running_hydrus.md @@ -9,7 +9,7 @@ menu: Tutorial You will learn about `hydrus` and be able to set up and run `hydrus` in two different ways after following this document. -[`hydrus`](https://github.com/HTTP-APIs/hydrus) is a generic server that can serve required data and metadata(in the form of API documentation) to a client over HTTP. It utilises the power of Linked Data to create powerful REST APIs to serve data. Hydrus uses the Hydra(W3C) standard for the creation and documentation of its APIs. +[`hydrus`](https://github.com/HTTP-APIs/hydrus) is a generic server that can serve required data and metadata(in the form of API documentation) to a client over HTTP. It utilizes the power of Linked Data to create powerful REST APIs to serve data. Hydrus uses the Hydra(W3C) standard for the creation and documentation of its APIs. `hydrus` can be used in two different ways. @@ -25,8 +25,8 @@ To use it as a python package follow the steps below: 1. Navigate into the `creating_api_doc` directory as created in tutorial 2 [Insert link] 2. Activate the virtual environment by typing `source activate` 3. Create a new file `index.py`. This file will use `hydrus` to spin up a semantic web server. -4. Run `pip install git+https://github.com/HTTP-APIs/hydrus.git#egg=hydrus` (This step can be little tricky as hydrus depends on few platform dependent packages, be sure to check out FAQs if you face any problem). -5. In the `index.py` file start by importing required modules. +4. Run `pip install git+https://github.com/HTTP-APIs/hydrus.git#egg=hydrus` (This step can be tricky as `hydrus` depends on few platform-dependent packages, be sure to check out FAQs if you face any problem). +5. In the `index.py` file start by importing the required modules. ```python from sqlalchemy import create_engine @@ -35,18 +35,19 @@ from sqlalchemy.orm import sessionmaker from hydrus.app_factory import app_factory from hydrus.utils import set_session, set_doc, set_hydrus_server_url, set_api_name from hydra_python_core import doc_maker -from hydrus.data.db_models import Base +from hydrus.data.db_models import Base, create_database_tables from api_doc_output import doc ``` The above code sample imports: -- `create _engine` - The database models use SQLAlchemy as an ORM Layer, mapping relations to Python Classes and Objects. The `create_engine` method creates the Engine. An Engine is the starting point for any SQLAlchemy Application.This engine acts as a connection on which we can create sessions to interact with the database. +- `create _engine` - The database models use SQLAlchemy as an ORM Layer, mapping relations to Python Classes and Objects. The `create_engine` method creates the engine. An Engine is the starting point for any SQLAlchemy Application. This engine acts as a connection on which we can create sessions to interact with the database. - `sessionmaker` - It generates a new session when invoked. -- `app_factory` - This method takes in API_NAME has a parameter. It creates an API with all routes of the app directed at /[API_NAME]. +- `app_factory` - This method takes in API_NAME as a parameter. It creates an API with all routes of the app directed at /[API_NAME]. - `set_session`, `set_doc`, `set_hydrus_server_url`, `set_api_name` are setters which set DB session, docs, server_url and api_name respectively. These methods put together all the things required to run `hydrus`. - `doc_maker` from the [core library](https://github.com/HTTP-APIs/hydra-python-core) to create the APIDoc. -- `Base` class constructs a base class for declarative class definition. `hydrus` defines models by subclassing the Base class. `hydrus` has its own database models that are generic and can be used for most of the APIs. +- `Base` class constructs a base class for the declarative class definition. + `hydrus` defines models by sub-classing the Base class. `hydrus` has its database model that is unique to the provided APIDoc. `create_database_tables` is a helper method to create all the tables according to the APIDoc. - `doc` - The APIDoc of movie API generated in Tutorial 2 [Insert Link] 6. Define params, add the models to DB and start the DB session: @@ -63,22 +64,27 @@ API_NAME = "api" apidoc = doc_maker.create_doc(doc, HYDRUS_SERVER_URL, API_NAME) # Define the database connection. Any Database can be used. engine = create_engine('sqlite:///database.db') -# Add the required Models to the database +# Get all the classes from the doc +classes = doc_parse.get_classes(apidoc) +# Drop all existing models and add the new ones. +Base.metadata.drop_all(engine) Base.metadata.create_all(engine) +# create the DB tables +create_database_tables(classes) # Start a session with the DB and create all classes needed by the APIDoc session = sessionmaker(bind=engine)() ``` -The above code sample: +The above code sample: -- Assigns hydrus_server_url to “http://localhost:8080”. This sets the base url in the APIDoc. -- Assigns the api_name to “api”. -- Creates the APIDoc from the `doc_maker` module by hydra_python_core. It converts the doc into Python classes which hydrus and agent can understand. +- Assigns hydrus_server_url to “http://localhost:8080”. This sets the base URL in the APIDoc. +- Assigns the api_name to `api`. +- Creates the APIDoc from the `doc_maker` module by hydra_python_core. It converts the doc into Python classes which the `hydrus` and agent can understand. - Creates the SQL Alchemy engine. (Note that we have used SQLite as a database here, but other databases can also be used here. List of supported databases [here](https://docs.sqlalchemy.org/en/13/orm/tutorial.html).) - Adds all the predefined models to the database. -- Starts the Database session. +- Starts the database session. -7. Create a hydrus app and start the server +7. Create a `hydrus` app and start the server ```python @@ -99,10 +105,14 @@ with set_api_name(app, API_NAME): The above code sample: -- Creates a new hydrus app and gives it a name. +- Creates a new `hydrus` app and gives it a name. - Calls the setter functions defined in the `hydrus.utils` module, the use of these pluggable methods requires an app context which is a variant of the Python context, similar to the request context in most servers. Due to this, the Python keyword with must be used to create a context in which the application must run. - Finally, runs the app at http://localhost:8080/api in debug mode. +`hydrus` creates and sets up the database out of the box. For the APIDoc used in this document following DB structure is created: + +![DB](../../../static/images/db-structure.png) + > Note: The `hydrus` app is a modified instance of the Flask app with the required operations and routes predefined. All options and operations on the app object will be the same as those done in the Flask app. 8.Start the app by `python3 index.py` in the terminal. @@ -128,8 +138,8 @@ To use `hydrus` as CLI, follow the steps: ### In this tutorial, you learned about: -1. hydrus - a semantic web server -2. Using hydrus as python package -3. Using hydrus as Command Line Interface. +1. `hydrus` - a semantic web server +2. Using `hydrus` as python package +3. Using `hydrus` as Command Line Interface. -Now move on to the next tutorial *Using hydrus to make CRUD operations* ➡️ +Now move on to the next tutorial _Using hydrus to make CRUD operations_ ➡️ diff --git a/docs/static/images/db-structure.png b/docs/static/images/db-structure.png new file mode 100644 index 0000000000000000000000000000000000000000..6ac246a14ef6152b2c8ce20c272a9a2e1fe97da9 GIT binary patch literal 142780 zcmeFZWn5I<|1OM*fP{2+2}pzVP=X**Cf(f~Go*Bbh?JCqfJ#eC4Bg$`-Q984_>2F2 zp67XW-_MKl;>>5p8D{ogd+)Wsab4H~1~L-T9Xd1= z@Xht>qf8_uObc@ zPcdj{-r>Z4K*oC!{y?%>hlo&%l`fP}o3JP^|9$TLB0c?ATb@N<(sRRpGlzC0eR!XL z*>S2=TY1_mZmQI&up^3Oc4E)?(c>+~`@8mEpU~3z3vsZg$Za5__4!j9&b2JJGvuC~ zksukb-MGSB?^#GyZhR{|?mfSKEbQSEj*9g0jy;iX3+wxe2S^_Gljilt+)37$kGC_YHj5*j{B8 zKNA*`T*k=jjQgej_=ZANcujSF(+9$tnEC5ghI#J$mLXYl!?(A=EI67(A+HT+N8XRA z$HkN64UlTH8MQuKf4=-6^o*TW2`8BT>8F#TbSrbH?+bW|1pg<_vS-W-O+WYQpX$H< z_DgKcoXVBUD*?kroyLR_dmOi|r5SU%f!IHg#j!ONqp3aQv54o#h7ZWg8p(9+QL5{U zE527~_iY~*1?4ioDkV~8@lSeVPTd7+=U z%vtr%g+lfS7VhF;9n8C)&pqBREGO7Q=1KR4t~S*B?XNU`O}IV1!nusqmwY7C+!h4k z;R|{aqTlq=fPp*NEQox;r$U_SUO~NG#k^R>?n^4&;|IzQw*6)OH~k+rY|Eve5A3E> z+!OwCZTF7-S8d*X8!T(L1zIRl$wT%<%qbkfd8$5a3~b+2QQA(G=DhFdha!{SopVXL zQkk+Yv>8jdOM1VyPg(i4_#i=f%of+yo}Y?Lutt+aA%`{ICj!H(jqXRMpT`Wga7KJn zntBXni`?p(l=QIFSX~r+f?P*q>ZkdZ*!8(mA!f2i*xp*P%Fh^$IZ8RSInq8k2Kbr> zg!;9nvL$j5E~8;2vYk2Ma0wZt7Sj)QH+K^vH5bdApB~3?pJ7Up5Z5{^z>v;<*A<`6 zv$ob?NYFzXHEe4gMw<7=*pTL=(UdvZUprJRJbizQ_j&IdDH6Wk9V>k?n>vg$KRq0j zbP0;*cg^+aa)06MII<+5oA|=MAb;{91ZRrP?`N$?JcjYm*UgR~8QHY{nH{MXs_XpD zIx?puHWc*&7nzp!iGL&sO;#}B!utwZvF9{+flV|Io|AnHS)wtJj_i^qqA_lJY$W=N z@Q0+AOe76c^x<<62Xa`j6RqusDCWS|ue66qN@ZlfiZNqE$i(zLFncI`pIwGHy|eE{ z3E8yY$XBNRur=qBd!8XD21svONfJm`{Ll5Q*dEHa{^DlgCuePbTxelMJ%Z-Fnxlp~ z65&}FB1mbvpk#+CyU;F(o#xxy62GvyuMMU2B7=vDH@WX|B9qkz&q?gj+o3I@3Hkr< z$9sBTA9bE<9up#;;_oU=7cE&r>(*GDAk)RzL&L#n!?44|k2@I>6;i{1*ZzJ<0-dHg zy5if@*AL7o&9T>!*U^8(3}t8KoBUkKBFc};f25LBpz^g$bGu@Ku+-Gz+KBxZ;dm5< z>`F{_Ongjv40(HeTgsAGD1UPxo`hWb((9F1k6A96O_@)bZHI@4yN5l8TYrWPt^QQ~ zN&Qkh`{w2Ky>~$t%EoVazdLO3Y$#daAM+oxN5~Xs-5(q<4=6D%A)8>CxTleZqTQ(O zmr*~Oknt+>Rkr=J#n?ycgD+w-g4*W1$*tEFk1ADnWX8=TIBF`UcRlLuf5t!qS1{3)`!60=I;QoBQp8xv~| zPL9rnCgLYp}JppKcYv3L6&=RF4;AuA^{R|dfg;ZVvPN?YMqDQZg3luDJbQ%HNb zdk#}JQ*7I#LRatiFPFbPa5o@if zzb*~(3#v1WX=PXby-L#iEVVl|t){x>o6cqR?`rlM-Wmbu>{0)5$f^2Gxe!aZdPCxSyBzg~<8p`R<9g*n~-m-qA^a)V;2I6?Zi63ExfhN%YaYE8^SbTOm0t z8Rg6FdtNW%n^v@?R+%fBt4hm3JMf{Ac6Z!sOMNTrCEF9ak|!nX3QTN5R-R*ic87b( zdlP%9XuZLtxQfyKZEJ0@(E>s(6ja%PgZRsoe5@NzPxyqn-8_#nNG?gt6&6XH6owLp z4R@L~nnMjY7bPf|Y@DaAp-E>f`|wD{$Ovjpz7um_%Z4uhIBB@Sm6Lfoa z@sQC}9;6zh8WnVSrQ&}m7S5I@VaUaC2^&j4P9Lp|u1s>AU2R_8?jmnf?w-~CqVhrA zPCA#q2R|*BpOTRp#aX~JO|Bl?1P|ZKF{7g z^L+Cri|TWhs3IiK`SLL*rkkQi~}E&!mfy|b;3D`*ljcy zYK^8pa%Nr)U>I{46B?(*9mMIJ^&hu(P@~2fb6RTdlzI%JFQD&-lC%1$>}X`x{DclK z4jZbB#`1Q`ciw97ns=Y0M}>A zL|hoRgtZs7-xN=pogQeEsOU_VG8y(R*L-y+KM~rV{GC<=-$D|k5#L)_?Mkzy2p1dk zXj|>8)y?%9w@dJZY`l_4LOivWgDzP&Uv-5#Cv(EJD-7nApWptG9RhN4&L)a##70tuYMQESS*41emB0Y~l@`!tg zd1OmLa#l@=;!gfPi=~6=Ev@tzuhpv~zPXmjXHqvo&&JcdVir$bzXaFa^YFeUrVxw> z3nAx;2jnBvSWV7EQ4#4e_>6{xe1{C_KKOJ8yu|L1|M#=Z9cH9^f4;wqgcM|s1jx&u zZIr+};_(5z5c~Y={ocnwBvkMh9(X~&-2Kni7|37l{pa%?I`A8kKoWPJBiZKArAE4$G^_g7;64MN3wDJ z_ho?#x%*F^(RDSaGvp(>-q$=4qzq^r#eJb@!SDb6v&8)_9&-7m<~QWfe=th0 z1pl1}zQyBaQGfqTz*YR8b}}hCI9ChaOf5-V7t^+j2Ztds3l0ZM?e^oZHT>mH+&2Q_ z+TSeP$i49{*Dm`Mnf4aFe65I9?H^5r0tUD*@;DIoRNfS+e_+F3s~(afv+_3+E--3IIO zX`(7uS5ppnEo2hY! z!T&)R|3ZqeT<97-K3%yNc{hH%W7mY5&q_SLJXK&+)k-YMtubo;t3l6;tHa(#o2qT1 zk5s<1?z=U62c4X)f~HBPurQ&Fa>5k9AUFm?pwGv)%z_6wkms%Jr3HLTCL-? z9OQB;H0}>!|6Q}YgKLHZ;^ijtIJ2ak3Qwx%$#~(6+h+5$=j91j`Lv6sO5f))S3b!- zguT?VpcK~`A%#R9 zMjL8Ai?>JUR(Dz=Daqq>z0S`ZyZJ^jd&O_7w+CMT{dn^E>6bwa-yq1DB(i|s;Q7Kq zzNxqcbDP*^+=8gXS{V1tEcI^}sl@^n9Ei}6_e!#S#J)jk9i>dGG6pHV3nnD-L@^CjIpr zCvD-BRIsJ!y%us?Y1(ZtDrMQ2L0BD6@AF#>&T1UJ_t{I!ahe=|;sx+MY~JoCZ)U#! zxWrj)xVt%B-%E2o*6IGZ~bu)To}d9@6G)8eZxt_$g>`Y-Sg>T9O%lT$DgqAMqS7BgX};I2~;;p z%&aa5ra5b)kHU=C^@5%4RPA=O7V#{G^UCaR+j?J4s!VRTdY(=bpG-OS?)A%B-=9MB z4Z19QJC3biog5gb z)E;)xjRZ1(-&!o_`fwzHg^+(@a$7G{24@N6hWb(OdJ|o|=JEfDp4>`^2Vtu}3 zP>D52SySkE=*^@*sh9_JZL~l)0RnTFptUDoI2_e+&wIREMQ&4}ufBD4wip$p$Upw= z-4zCV$x9M(FOR7}*@Z;YRG}&F+v|S${i@ws^1ak*V0JRJ2bjEFeH&`G_vVk4M79Y8 ztU<_`Pj%nfuPWvE`w<$85zOG8VU(zf(p%hDd*5GW-1U_&)~RuOx2-)EnOCxf?mNen z=D{;}heYaoXwU>mzx*B`5X}3aQla^wVn5XN*nc*48xOx?v;u*}KE+#3a*x8X3pY~i zVy$pkMKhpR?2^r`s|FZe$9%|UpA>ck{1CZbUY9$h!~X ztckcEvA`}cka-Yzu@8I2y`c*sOzEn+{&i#ft<=;#AlDz*$EqmoP3CEqL#?%P#(^8X z@j}^8_gIcqZP`SmF1F{eO5nZEY&$n|im@QrImX7B8}P#vwlBKd)Ob4UP+w8Kdmgp;E9sf=@Zct<{);J| z#v#fw?}4R(lbz`-H~*B^7ou-YUnA$RiMeYD?O&)aIE>X{y$~Tgf(Hlb+0dn{TeVWU zV#-oFzs)J8cIuOSHP_MdEtsDLt#&;tsR6j;%*Gi={H$8u*T?pgWR|(OGLaOdqhM}> zjnmwBDoJ+0O)(Y(m#@(*WH(o5SAUQUpWD=7^LuxzYw@@BoWgCNl#@ku>NUj0ha&qbBE zPnK-5bqfr+vHGxw9NhDa5}Jue|G*w;5gyILLWj*os*(%!UGH*uSZO4aqVr5kVfq59NOr=@OW=e!@k0?Lm~S6u9Rm%G&) zcsD=01j&g%2Iniv00#iBK6=Q zUp{fH0|0a-<8c8t6{Mp2X7=_*AT)BkFIzdy4uFUFQ`+ijut9@Kk~LA;xJgps*+N+S zDWNtDB%g+joB}F8fVKa`D|2UN4;3BQ@&P|`cQwVMZ)KE)(=L(E=(}l6&iPlGw@pbUuFN5tH z!({PQeuvVK^wy$MLG=jktm=2+Ba83V-Fs!1XM~+G20y7@_9bv%&=F`8OF*I#!oCW9o@f(OVt)iz=&P96Vc~EO^Z!Y&M zOVAzyTswEavn*v9SC#^oqvmL!V!eyE7n3O!nm$W8Dkn}Az}?isnqOg{H7foOklz!Z zKn!0wngw0R-R$uaf_siPj<&b93N4b89AxqII_xmCRQX|8T~BwWMci(W^@V1)ihHRvG&B}gFgPk`K<42Vdk(t>Mud5Nc?x`E z%D&ZZRNFQ7biCtYvw*rn46|teDF(YyRmneKb%A(hp)?5uSs}jJr6dVXPWL7E5Qb0X zePz!ffWS6?fR#L3k@QtJ-1};g`m1Vz&OVqS!Olr`RJx64$>9-HqQbd_4d{u!bE-Np z##}&WxwoRcjxy{3S!+JlxTPKN+^Jkmr#YXnEWiQ)+c-S*iRkswU_koyT1Hd@$c@yE zbRz+B10x!ic?cj}L2BCu)lw>EEvV+9013l>RN3nw#ttOw@&{#C2c1EH^`bz?yn(yg zk3agr|IZvs5l3O7ni=XA>?7AmT3%gGM^QFyV1GW8puG6&bONJgS&E*iX?etw11G-S z8(R#piH*{MYI~tot7*;quK2WekM@n z1Ngph%plXU)G-YN-1$#$ltRQoc0;pD14(Mlb2QR8#C0C96H&W-q19wwkBjwe{lHyq zHdA2W0B|K(=2xcM5i2*N8LlRpQc)Xgd9S9pHmK@)684rK4am1z2YWLqFi+znS5H@! zuSDn(&vWnth#LsF#BW8n#hxZO%bP5J1R8T#(6X)Gm!Xpmrt6lHDOQdGhV1ybv=fl;>R@}6B7GyfxEiel~cf;MF<4JWMQO^*V-!7Zv2-E~T zE@RbDy3HiGOI6)C_RO*W88H^x7hEP{ZvO$`);5?I0ELy~vd~X89~KosfJt^fwFtY- zE$%^QN^$yljTr?wcn+`^dk0({c6~hB2ppKWJP)ulW0$p}m3>I6#+-mk}cVcOlF z>~^@hKbGNDEv+TSds1AH%Rsx$&sWzZ_r{^OX3Ceh_1bji=!KS!xLxDa-tbQD5^ciS z#mP1~LQ)_(1_6M;Wd^p&Z1t?keNa*0S$|$i`A3=ryUqM68;S5RR2}3Nglq(%nBM`| zn23L>&?y4utA`9nGsYz_?Bs-di~)yF57L)jXbi++b?2J_n>9oT%#bvC0uHag-%QL& zJz8wq3l(L}D|wAzf`Yr%hj;Z08y||WX}PUu+Sjzf^U7z0Ay<2i+-p+Uq6A=qa`=N7 z@56(Ccpqg@KkMgCUjYHO*aNe{@{D0SPSfT=)pnWYRPs^^X3p&2SJhr}0%?F3&4od7 z52#CIHAvp)%ke){d2g={gRsS~xOU{x-~Lx%@&wVuq3)h-92TYU6Py_~WgLYBz)D0y zV>LB2wm$I7`?o^Jn>&lf3%sv4xd7YbGJa7;;y(ON6$>ygRW+dWY!`-hf^aTK;XL$; zd#Z9Zl{`}X=8V791K7qqllZyZk=c|<_GDj`>n#kSxH`6CW zXJ?z)HAGIDx8)ZTnrSW6tC*Z1gRLaAxS@Fg;(u>JwW;VH3MSep5Xo2y)FWp8+9*eOK4wN9NNsG0(f{^FSU2jS_7gKy{!3MpQ}S z6r;%hAWHlOx}jef*#3Yixv!&&$7lazH4qa60sf%t0y^N2*3-3qdb?SK);a^&XkBT? zKY+99$P8#UtG;s;!#5c zL|tr&2&2Ai$M~ggIDo7B&#MQ)iOgwi*|Q#FX^u63{Dz z!a-`~Ndy$A5ry391MA+i4>cf1HZudxxwuyjzh-B3vnKxgF**Q_Hgb)@~wCtPrnu&G&6$PfBgp+Wm)9ydU`};?4qwiY>8hy=b z1oYar_V%5Y*M9f6iYuGf@;Szx-#(ho?RMOqe_cWHy$=2^KAAW0VpzwL2rZ9hFs4rT z_F}Z~d?l%sfdU9{2<&9>+~EWmiQTmGXn@W1?*Q+c!!-T8(h-a2)uGaVUoSd9dyWHn zN5Up)H)A+(eu72H!|+GzM@W|-^yo@)Ane1Mgx5qt%{ca50}wgJJ_r(q{QbD|mJTs1 zu}Eg{zdr^5YEDL=TI0G@m0c3{52|QRFvKY5vJyyt-<2hhg?T{!5ILBBGx6*nRAqld zz$jH$^fX9+KaaIXpIK>=3*2c zcs!~LPoDU{71aN4mht~%IahgA^U20^T!Qatt8!!~XD!QhDx~tLDzgMFX6tkai#;a0 zX)h-0#-@s`d64G^fz5nnRqNiRO_AO|tDs7(g4))eQ*9I;vhphVm%+d9mlCKq+maz&(>fv zX`T&;plXLmLXFts9-mV*nehIS6wN4n>=#=CfU?R9lsyss=x0O^EDLH}5)31S$XxF> zGu)-)(nfP?5}w3YhTsC?U){DT06$k$v#DHu{7d9?%CRvsUWZIY!#vXt0KFi_IJNWz zZlXDWdC`L?UDOhIj9-j7k7_r*zjMz@HC}7Oy-&>M5@bdSgj82|C`qg>3v>2i>G_3Of{J)v2Kv0Br*Fvi{2)lX)Snp9Krn|H)o6bpsMl^fJN&BQ1YUm zjD)gpAADWA8*%|8CSdHi}a$El!nL<6C&6w!nPpCGjJeWLU7Nt>#G z>{PeM9%u7G2q6j$D7W^}jh~5Dn(&p`vh{)f7IqhptkUSOF>yN$X`y_+F-R778eopu z$Mw8Df`(Q&Gk{DQ-gD9*#qQ@?9(b||imGbP!|xEt35S2$X>jirNPY4cL;yNisz341JYz?&h1b3y2muLZJ+1M4 zy32%lcEI(?B&Wbxf!A>km(yC`6qmV3r2xqN@P=f^vQ+L&yf7mztwE4<)n+ioZ4o83 zE&p%y4!xqMm;eG60+CFV*gv^y>z8~Impb`DYW5QMv()<{E8vXKMBPs?5k)Wn1??;L zTgV#`Z7estw>O+9h+<6R&E>9b{o-rqG8Mts-pK%d>w~(i{VXs?GDNeBgcrBP(D%CH z1AxyEh$E9Ksk{ilC##D2K!o}o*&sV}4(x_?_ro5bC9-$8QUu0WvXk);TxQDfst3_u zWL4BmWdEk$?c`+AmRbjpJZM+i%~AH4`s$*BCZcrQh#*|92-txrmMrTH*A`GDoc0iO z`?23S_QL+@d5WlHrIGH81E5ZtU%5gi|6;?z?NIJfhc4%7^kt$cLbX*hO>tf*&mK4y z1B_xG0a&1W^{5%oMM-xNDiqvNWUEjrM?2ysuq4!D1KWKCT3f;7v3j_LP#Y0V6b2ta zQI7RP`DX+vp9g&bVZPq(oL0IMA0bKANeAt-Hz(zP1YAG$-#CiAU%q@lzf{{6$XOE- zma1?&9P6q3lA(R?JSf(hf7~dB%WAAJG+sj80f=;=^9X4dsHfN^!X`O+WuevsR@L)? z_dt{x7QuG56GgBERS+TOD_D192{M z5V|`DM16*pQiS@&dNtIK``{sAo~Zr#t{0)cZrR#hh?DPF_khni_27g5l4 zkEVwEV99T>G@=Qj6CmwXtRD?3Vf~Cr#SGGHJ0Hf zL%U?Jc1zsTJUFkH_pNk5Ep`59PCoiB{I+(MaJ1dsKGFr4fGiW4^<59Rk71=L$?>_E z=S9BA1n$7?{-)TtyZ6pY%E1|7?yhv0D z3IvjwpYK|+r_^>UWGoQNE0Ztm>`y9DGHawElAGw`J{P=wVoCB*ThXB=B=Fn=s zQ3W5Bj%HJE&;HCArEl7?S9DqN?FbH1()=An<40lIJ9h8=FkSyJj^E5wjXc|Kzv$TL zUP`xFQQE8T8(C)$;>687F51&qFIf3(_B?xDkOk$?o+h8C-}*qy98P}CHYOx?Hs|LM zG>#~gt-bW)tu87tedElZ5nlrVB)a3S%SPsqGOQfh%7tuHI)t@O09i>eG@x)w-vV68 zUUZlGd>r(B=u&-o|FZHU(rl}07)^pHxg|zs=kgx`_f(3 z)t@UVa_&9sH4$f2Z!dRv)eK|bsf5UVF%)Bg6qk%UxE&NdIm?9Wl*MGvX$yBEIPt-C z&u^V-q(f~u zg-Ai9ma8M+Q@@#1)>XJ_<%_$lwfH56253=R)61uA(e#LNTa(2T6r^dd%k2|h=k>#| zAtalO+E)){IxMKtKFy^#ypi4VYs1rZZnB*JIsqgw1D&U$>qV_pma4t#rjO%!*Fqo( z^+vFkFLPjCxJr8r5l$Pu8qZdcnfZ0Xp_0=!vw5|AJ^=rfL22rT93fP{VbVSeovQ7t zmTs?A_TmHMF#2|}L@|^u?zZ2-uU1aCT}n**@}rGQJ&I%2J42JUZ>Z**KcDb-P?DS@ zr?;^+3XM>MihMTJRDlLT&yGuhz=VJXaMr zFOu*`UcYZrAtjqKdp(zJb>ZK*Gdf63lW_%z%{zVh`~tXpdadr73|Gfcy!qBWzEEZ? z>p4Sq-bIGN{%_ty6D1K(h`fk}TEIcFfP@}4*cd2!{0?Fbk5~!m6f$9V4t(;MT~~<> zMk>7Xd7!P~@KmEV|9jq^c{BiRl=`3nsVFT`K1-4dTLIYu+gDF|{#%HWi%cQ+N7cVp zVEb+!%r*O=IPiirU2Q7tkR@ZNf-a2L#k@PXAA~d16>o`)l0Yk_C#;Js7W}*m=X}1t zFDc3pq~Fu3iQGj-g57*|nQ7!#Urul2SBdDTc{>V#`ejBK=m~wV_Zfm&z#9A|My53x zwy_scjA*lA)qi~;=(U(<0;3Sdcn)z&odp^+ zchpmoc6Y5I3tVL0`%h*vxr77ScGm>EcxHA10EX<8t@bsH9Mn4GdMjCW`-NoV&iYx* zURxm74<=!Ue_Sbu_go5sZXW1ZUUNS~u3wTuTj*YEyJ=VU!V@vW9UXiXf&^-a{!$D^R)~M@&T7y*k$|HwM+Hl6v;NT<9 zD*Z1+VP=uzGG9~Bqyk`^&MnicnfZ!_4%KB!o90#G3mGA%{#+16btj`IKGcR$j1 zqg?KWTQV=qJwi!ExfPbLq-d24eg_AF3J;%&5_dhxrFqQ0-?#R(#Qm0}Wlp(QKd~1_ zb8wMIUxSQkQeAf8WrS?*p9NX+K*@-E$OK6KzY|j%5&b~A&(w(pRDJcP)!4=a6Vi7+Wh=AXi=yYlvjf_ z4iRp==;|6ALYF1KW}?%|WkieR9$m2iyEnlc`FAc&LXYlES5`c8 zMFxg1qD)s#Hg68O#_P2VCckQ%JE1{4F(3MCYnDVSP2H!-TKikYpEGWEQ!e>T`b1A&`X>&cQ*&0HTz#?#Iix2xQoq7bP2~ zlNTV%sqU22Vd$ssB^Y`H$(1&!ikS8@4pI&L@ST^W8(&K%Qf6m+tc_1u7u=ul6K5W+ zrC8eZvwEf=o7Tjy=w9C_YFq9TtHFIgRP(H-#uD^#BlG&^MbNjVym+^oJcJ9N2b5TV zi%%%^9_|3IU4r>b*eLLhbhTCdbe%Bx1oS7CF34h$tyH3JpK99n6u9{;3uUs_C zub$2_(+{|fqlx7i4i%ip&?tKh&kSfVh;FOnOp$gh4;A3bgYK;2eV3Q1-)y9XddQ8< zP*~{mn{cwYxuRXLi(j0F1r!_e`Oax{EZ0sY54$wfDQ$Qokfs9B(^AmgG4N5%UVWVc z^E*A}{%4w4e(DLYuE+MQugg0^8?$?RPM2bo13`bupjQ^hyfdizluyJnq2(VZZ4at; ziW>CQbW=#^)PHe75%^qMQqpwcJFHJqB28}es&k=ZzpL=+MR$VrG6LdVvvD3SFr#*; znV%ewo2vr8yhfQos%O^v4Re^e^YW2BM>Vn`TcvlY8t?u3;~|m59nnY}ob!Ze*}ll` z^J-e2*2Yrx-c-?y@3ZB$0`fS?$4VL+7TPXLt9h?_t@5^UZH?p4_hX&Xo@+bXtUnV}D=C2`gLHT%N69^JOMA)8Xd z2iI1!J(6m&_v4S}KN8$K@sS;ssXUMR1uc?rn-$=`T$1oKGpiGNW<>q;2k+x3zy?DNY9-Cb^e z(r6h3%S-_1GX0cDIE9OK)WrD+Kky-C7EZ~JQD*#u$=v4@L}ddGppp^t<{_R90QC

{t!+r$>mH;cDZgPU1u?4 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

kikjlyhFSI-21;Ks2Mg1;1UM?| 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≈h8Dkh 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 Date: Fri, 26 Feb 2021 20:51:45 +0530 Subject: [PATCH 3/5] python -> Python --- .vscode/settings.json | 27 ++++++++++++ docs/.docz/app/db.json | 43 ++++++++----------- .../tutorial/setting_and_running_hydrus.md | 20 ++++----- 3 files changed, 55 insertions(+), 35 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..30e50a5 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,27 @@ +{ + "grammarly.overrides": [ + { + "files": [ + "**/docs/src/content/how-to-guides/authentication-hydrus.md" + ], + "config": { + "audience": "general", + "dialect": "american", + "domain": "technical", + "emotions": [ + "neutral", + "respectful", + "friendly", + "analytical" + ], + "goals": [ + "inform", + "describe" + ] + } + } + ], + "cSpell.words": [ + "hydrus" + ] +} \ No newline at end of file diff --git a/docs/.docz/app/db.json b/docs/.docz/app/db.json index 26d643a..2a25b19 100644 --- a/docs/.docz/app/db.json +++ b/docs/.docz/app/db.json @@ -20,7 +20,7 @@ { "name": "Conceptual Guides", "menu": [ - "Conceptual Guide 1" + "Introduction to RDF and Linked Data" ] }, { @@ -115,22 +115,27 @@ } }, { - "key": "src/content/conceptual-guides/first.md", + "key": "src/content/conceptual-guides/intro_to_rdf_linked_data.md", "value": { - "name": "Conceptual Guide 1", + "name": "Introduction to RDF and Linked Data", "menu": "Conceptual Guides", - "id": "29afc96bd22c4e047c5240f3d29ab70c", - "filepath": "src/content/conceptual-guides/first.md", - "fullpath": "/Users/priyanshunayan/Developer/gsoc/docs/docs/src/content/conceptual-guides/first.md", - "link": "https://github.com/http-apis/docs/edit/master/docs/src/content/conceptual-guides/first.md", + "id": "7d92d01fd0629805851101469365a034", + "filepath": "src/content/conceptual-guides/intro_to_rdf_linked_data.md", + "fullpath": "/Users/priyanshunayan/Developer/gsoc/docs/docs/src/content/conceptual-guides/intro_to_rdf_linked_data.md", + "link": "https://github.com/http-apis/docs/edit/master/docs/src/content/conceptual-guides/intro_to_rdf_linked_data.md", "hidden": false, - "slug": "src-content-conceptual-guides-first", - "route": "/src-content-conceptual-guides-first", + "slug": "src-content-conceptual-guides-intro-to-rdf-linked-data", + "route": "/src-content-conceptual-guides-intro-to-rdf-linked-data", "headings": [ { - "slug": "some-random-content", - "depth": 1, - "value": "Some Random content" + "slug": "resource-description-framework-rdf", + "depth": 2, + "value": "Resource Description Framework (RDF)" + }, + { + "slug": "linked-data", + "depth": 2, + "value": "Linked Data" } ] } @@ -209,17 +214,5 @@ } } ], - "props": [ - { - "key": "src/components/roadmap.js", - "value": [ - { - "description": "", - "displayName": "Roadmap", - "methods": [], - "actualName": "Roadmap" - } - ] - } - ] + "props": [] } diff --git a/docs/src/content/tutorial/setting_and_running_hydrus.md b/docs/src/content/tutorial/setting_and_running_hydrus.md index 6f63dae..89e6ccd 100644 --- a/docs/src/content/tutorial/setting_and_running_hydrus.md +++ b/docs/src/content/tutorial/setting_and_running_hydrus.md @@ -5,7 +5,7 @@ menu: Tutorial # Setting Up and Running hydrus -> This tutorial assumes you have a basic understanding of python programming language, Hydra, API documentation created using Hydra, Linked Data, web servers, and REST APIs. +> This tutorial assumes you have a basic understanding of Python programming language, Hydra, API documentation created using Hydra, Linked Data, web servers, and REST APIs. You will learn about `hydrus` and be able to set up and run `hydrus` in two different ways after following this document. @@ -13,14 +13,14 @@ You will learn about `hydrus` and be able to set up and run `hydrus` in two diff `hydrus` can be used in two different ways. -1. As a python package. +1. As a Python package. 2. As a Command Line Interface. (CLI). ## Using hydrus as a Python Package -`hydrus` makes creating and spinning up a semantic web server easy by giving the developers ability to import it as a python package. It provides intuitive interfaces to work with and can be easily configured according to one's preferences. +`hydrus` makes creating and spinning up a semantic web server easy by giving the developers ability to import it as a Python package. It provides intuitive interfaces to work with and can be easily configured according to one's preferences. -To use it as a python package follow the steps below: +To use it as a Python package follow the steps below: 1. Navigate into the `creating_api_doc` directory as created in tutorial 2 [Insert link] 2. Activate the virtual environment by typing `source activate` @@ -28,7 +28,7 @@ To use it as a python package follow the steps below: 4. Run `pip install git+https://github.com/HTTP-APIs/hydrus.git#egg=hydrus` (This step can be tricky as `hydrus` depends on few platform-dependent packages, be sure to check out FAQs if you face any problem). 5. In the `index.py` file start by importing the required modules. -```python +```Python from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker @@ -41,7 +41,7 @@ from api_doc_output import doc The above code sample imports: -- `create _engine` - The database models use SQLAlchemy as an ORM Layer, mapping relations to Python Classes and Objects. The `create_engine` method creates the engine. An Engine is the starting point for any SQLAlchemy Application. This engine acts as a connection on which we can create sessions to interact with the database. +- `create _engine` - The database models use SQLAlchemy as an ORM Layer, mapping relations to python Classes and Objects. The `create_engine` method creates the engine. An Engine is the starting point for any SQLAlchemy Application. This engine acts as a connection on which we can create sessions to interact with the database. - `sessionmaker` - It generates a new session when invoked. - `app_factory` - This method takes in API_NAME as a parameter. It creates an API with all routes of the app directed at /[API_NAME]. - `set_session`, `set_doc`, `set_hydrus_server_url`, `set_api_name` are setters which set DB session, docs, server_url and api_name respectively. These methods put together all the things required to run `hydrus`. @@ -79,7 +79,7 @@ The above code sample: - Assigns hydrus_server_url to “http://localhost:8080”. This sets the base URL in the APIDoc. - Assigns the api_name to `api`. -- Creates the APIDoc from the `doc_maker` module by hydra_python_core. It converts the doc into Python classes which the `hydrus` and agent can understand. +- Creates the APIDoc from the `doc_maker` module by hydra_python_core. It converts the doc into python classes which the `hydrus` and agent can understand. - Creates the SQL Alchemy engine. (Note that we have used SQLite as a database here, but other databases can also be used here. List of supported databases [here](https://docs.sqlalchemy.org/en/13/orm/tutorial.html).) - Adds all the predefined models to the database. - Starts the database session. @@ -106,7 +106,7 @@ with set_api_name(app, API_NAME): The above code sample: - Creates a new `hydrus` app and gives it a name. -- Calls the setter functions defined in the `hydrus.utils` module, the use of these pluggable methods requires an app context which is a variant of the Python context, similar to the request context in most servers. Due to this, the Python keyword with must be used to create a context in which the application must run. +- Calls the setter functions defined in the `hydrus.utils` module, the use of these pluggable methods requires an app context which is a variant of the python context, similar to the request context in most servers. Due to this, the python keyword with must be used to create a context in which the application must run. - Finally, runs the app at http://localhost:8080/api in debug mode. `hydrus` creates and sets up the database out of the box. For the APIDoc used in this document following DB structure is created: @@ -129,7 +129,7 @@ To use `hydrus` as CLI, follow the steps: 1. Install hydrus from git: `git clone https://github.com/hydrus.git` 2. Navigate to `hydrus` directory by running `cd hydrus` -3. Create a virtual environment by `python3 -m venv venv` +3. Create a virtual environment by `Python3 -m venv venv` 4. Activate the virtual environment by `source activate` 5. Install requirements of hydrus by: `pip install -r requirements.txt` 6. Run `python3 setup.py install` @@ -139,7 +139,7 @@ To use `hydrus` as CLI, follow the steps: ### In this tutorial, you learned about: 1. `hydrus` - a semantic web server -2. Using `hydrus` as python package +2. Using `hydrus` as Python package 3. Using `hydrus` as Command Line Interface. Now move on to the next tutorial _Using hydrus to make CRUD operations_ ➡️ From 673a5847b2e2bbe71f34111550ba5b605702118f Mon Sep 17 00:00:00 2001 From: Priyanshu Nayan Date: Fri, 26 Feb 2021 20:54:17 +0530 Subject: [PATCH 4/5] add links to hydra spec --- docs/src/content/tutorial/setting_and_running_hydrus.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/content/tutorial/setting_and_running_hydrus.md b/docs/src/content/tutorial/setting_and_running_hydrus.md index 89e6ccd..064bc71 100644 --- a/docs/src/content/tutorial/setting_and_running_hydrus.md +++ b/docs/src/content/tutorial/setting_and_running_hydrus.md @@ -5,11 +5,11 @@ menu: Tutorial # Setting Up and Running hydrus -> This tutorial assumes you have a basic understanding of Python programming language, Hydra, API documentation created using Hydra, Linked Data, web servers, and REST APIs. +> This tutorial assumes you have a basic understanding of Python programming language, [Hydra](http://www.hydra-cg.com/spec/latest/core/), API documentation created using [Hydra](http://www.hydra-cg.com/spec/latest/core/), Linked Data, web servers, and REST APIs. You will learn about `hydrus` and be able to set up and run `hydrus` in two different ways after following this document. -[`hydrus`](https://github.com/HTTP-APIs/hydrus) is a generic server that can serve required data and metadata(in the form of API documentation) to a client over HTTP. It utilizes the power of Linked Data to create powerful REST APIs to serve data. Hydrus uses the Hydra(W3C) standard for the creation and documentation of its APIs. +[`hydrus`](https://github.com/HTTP-APIs/hydrus) is a generic server that can serve required data and metadata(in the form of API documentation) to a client over HTTP. It utilizes the power of Linked Data to create powerful REST APIs to serve data. Hydrus uses the [Hydra(W3C)](http://www.hydra-cg.com/spec/latest/core/) standard for the creation and documentation of its APIs. `hydrus` can be used in two different ways. From 8a5b50b0851107489f8387c9b0e04d4854706cdf Mon Sep 17 00:00:00 2001 From: Priyanshu Nayan Date: Fri, 26 Feb 2021 20:55:03 +0530 Subject: [PATCH 5/5] minor improvement --- docs/src/content/tutorial/setting_and_running_hydrus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/content/tutorial/setting_and_running_hydrus.md b/docs/src/content/tutorial/setting_and_running_hydrus.md index 064bc71..03ec0c2 100644 --- a/docs/src/content/tutorial/setting_and_running_hydrus.md +++ b/docs/src/content/tutorial/setting_and_running_hydrus.md @@ -14,7 +14,7 @@ You will learn about `hydrus` and be able to set up and run `hydrus` in two diff `hydrus` can be used in two different ways. 1. As a Python package. -2. As a Command Line Interface. (CLI). +2. As a Command Line Interface (CLI). ## Using hydrus as a Python Package