Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DMP 2024]: Create the core modules of cord.js sdk in Python #166

Open
3 tasks
NiranjanAP opened this issue Feb 1, 2024 · 15 comments
Open
3 tasks

[DMP 2024]: Create the core modules of cord.js sdk in Python #166

NiranjanAP opened this issue Feb 1, 2024 · 15 comments
Labels
DMP 2024 Issues for Dedicated Mentoring Program 2024

Comments

@NiranjanAP
Copy link
Contributor

NiranjanAP commented Feb 1, 2024

Description

cord.js is an SDK to connect to CORD. We have a requirement to write the same SDK in Python.
As part of this we have to first create the core SDK modules that include the DID and Chainspace. Scope of this issue it to create an SDK in Python along with any dependencies.

Goals

  • Basic framework of the SDK established, able to connect to CORD
  • Replication of all packages present currently in CORD.js ex: statement, asset, network-score etc.
  • Demo scripts for all implemented packages currently present in CORD.js, similar to statement demo-script -> https://github.com/dhiway/cord.js/blob/develop/demo/src/func-test.ts

Expected Outcome

We should have a functioning SDK written in Python that connects to CORD and is able to make calls to CORD

Acceptance Criteria

Fully functioning SDK written in Python with all the available methods/functions implemented
A working demo script https://github.com/dhiway/cord.js/blob/develop/demo/src/func-test.ts
All the unit test cases implemented

Implementation Details

Refer cord.js repo for reference SDK written in typescript, this needs to be replicated in Python
Refer to the documentation https://docs.cord.network/cordjs/integratecord/ for the detailed explanation on the working of demo script https://github.com/dhiway/cord.js/blob/develop/demo/src/func-test.ts
Note: There will be some dependency modules before these two modules can work

Mockups/Wireframes

NA

Product Name

cord sdk in Python

Organisation Name

Dhiway

Domain

Open Source Library

Tech Skills Needed

Python, TypeScript

Mentor(s)

@adi-a11y @amarts @NiranjanAP

Category

Other

@NiranjanAP NiranjanAP added the DMP 2024 Issues for Dedicated Mentoring Program 2024 label Feb 1, 2024
@NiranjanAP NiranjanAP changed the title [DMP 2024]: Create a core cord.js sdk on Python [DMP 2024]: Create the core modules of cord.js sdk in Python Feb 1, 2024
@Shruti3004
Copy link

Want to know more about CORD? Check the whitepaper here.

@Ris-code
Copy link

Ris-code commented Apr 10, 2024

Hi @NiranjanAP @amarts @adi-a11y

My name is Rishav Aich, and I'm a student currently pursuing my BTech in Artificial Intelligence and Data Science from IIT Jodhpur. I am proficient in C++, Python, and R programming languages. With a strong background in development, I have worked with typescripts.

Contribution Plan:

  • Since I'm good at Python, I can start by setting up the basic framework to connect to CORD.
  • I'll work on creating the part of the SDK that deals with DID (Decentralized Identifiers) in Python, making sure it does the same things as in cord.js.
  • I'll also develop the Chainspace module using Python, making sure it works smoothly with the CORD network.
  • I'll create tests to check if the DID and Chainspace modules are working correctly. Testing is important to make sure everything works well.
  • I'll make a simple script to show how the SDK works, similar to the one in cord.js. This will help people understand how to use the Python SDK.
  • I'll take care of finding and adding any extra things we need for the SDK to work properly with Python.

This project completely aligns with my skills. It would be great on my part to contribute to and learn from this project.

Please advise me on how to start on this and what to take care of.

Thank you!!

@NiranjanAP
Copy link
Contributor Author

Hi @NiranjanAP @amarts @adi-a11y

My name is Rishav Aich, and I'm a student currently pursuing my BTech in Artificial Intelligence and Data Science from IIT Jodhpur. I am proficient in C++, Python, and R programming languages. With a strong background in development, I have worked with typescripts.

Contribution Plan:

  • Since I'm good at Python, I can start by setting up the basic framework to connect to CORD.
  • I'll work on creating the part of the SDK that deals with DID (Decentralized Identifiers) in Python, making sure it does the same things as in cord.js.
  • I'll also develop the Chainspace module using Python, making sure it works smoothly with the CORD network.
  • I'll create tests to check if the DID and Chainspace modules are working correctly. Testing is important to make sure everything works well.
  • I'll make a simple script to show how the SDK works, similar to the one in cord.js. This will help people understand how to use the Python SDK.
  • I'll take care of finding and adding any extra things we need for the SDK to work properly with Python.

This project completely aligns with my skills. It would be great on my part to contribute to and learn from this project.

Please advise me on how to start on this and what to take care of.

Thank you!!

Sounds good. Hope you are in touch with vanshika@samagragovernance.in, saumya@samagragovernance.in for the process to follow.

@AbhimanyuSamagra
Copy link

Do not ask process related questions about how to apply and who to contact in the above ticket. The only questions allowed are about technical aspects of the project itself. If you want help with the process, you can refer instructions listed on Unstop and any further queries can be taken up on our Discord channel titled DMP queries.

@Ris-code
Copy link

@NiranjanAP
Sir, I had a doubt. Do all the dependencies also need to be coded in Python?

@NiranjanAP
Copy link
Contributor Author

@NiranjanAP Sir, I had a doubt. Do all the dependencies also need to be coded in Python?

Yes, that is the straight forward way to go ahead.

@Ris-code
Copy link

@NiranjanAP Sir, I had a doubt. Do all the dependencies also need to be coded in Python?

Yes, that is the straight forward way to go ahead.

Ok, so, sir, basically, I need to code all the packages in Python and then do the tasks mentioned above. Am I right?

@Ris-code
Copy link

@NiranjanAP ,
Sir, the polka dot module is directly used in the typescript part because it is written in typescript only, so its functions are directly used. But it is not compatible with the Python language. So, can I use similar Python libraries or define functions to perform the same task as the imported function from the polka-dot module?

@amansgith
Copy link

amansgith commented Apr 20, 2024

Hi @NiranjanAP @amarts @adi-a11y
Can you help me with these things regarding the project for C4GT:

  1. What problem is Dhiway facing currently that the need of python SDK came up or is this issue going to enhance and increase the userbase?
  2. Is anything related to the development of the python SDK already done or started?
  3. Is this project just going to be a duplicate of Cord.js in terms of providing the functionality
  4. Is there any requirement of Rust during the project for making it able to communication with Cord?

Thanks

@hardiksharma11
Copy link
Contributor

Hi @NiranjanAP @amarts @adi-a11y Can you help me with these things regarding the project for C4GT:

  1. What problem is Dhiway facing currently that the need of python SDK came up or is this issue going to enhance and increase the userbase?
  2. Is anything related to the development of the python SDK already done or started?
  3. Is this project just going to be a duplicate of Cord.js in terms of providing the functionality
  4. Is there any requirement of Rust during the project for making it able to communication with Cord?

Thanks

Yes sir @NiranjanAP @amarts @adi-a11y I also had the same doubt i.e point 1

@amansgith I don't think we would be using Rust while creating the SDK but a basic knowledge of it will surely help us to understand the CORD network and it's functionalities as it is written in Rust 😄...

@AbhimanyuSamagra
Copy link

Do not ask process related questions about how to apply and who to contact in the above ticket. The only questions allowed are about technical aspects of the project itself. If you want help with the process, you can refer instructions listed on Unstop and any further queries can be taken up on our Discord channel titled DMP queries. Here's a Video Tutorial on how to submit a proposal for a project.

@NiranjanAP
Copy link
Contributor Author

Hi @NiranjanAP @amarts @adi-a11y Can you help me with these things regarding the project for C4GT:

  1. What problem is Dhiway facing currently that the need of python SDK came up or is this issue going to enhance and increase the userbase?
  2. Is anything related to the development of the python SDK already done or started?
  3. Is this project just going to be a duplicate of Cord.js in terms of providing the functionality
  4. Is there any requirement of Rust during the project for making it able to communication with Cord?

Thanks

Yes sir @NiranjanAP @amarts @adi-a11y I also had the same doubt i.e point 1

@amansgith I don't think we would be using Rust while creating the SDK but a basic knowledge of it will surely help us to understand the CORD network and it's functionalities as it is written in Rust 😄...

1 - to make the CORD usage technology agnostic
2 - nothing implemented as of now
3 - yes
4 - nope

@AashishNandakumar
Copy link

Can I start working on this? Is it already asssigned?

@AashishNandakumar
Copy link

Can I start working on this? Is it already asssigned?

Can I start working on this?

@vatsa287
Copy link
Member

@AashishNandakumar This is assigned as part of DMP 24

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DMP 2024 Issues for Dedicated Mentoring Program 2024
Projects
None yet
Development

No branches or pull requests

8 participants