exercism / python

Exercism exercises in Python.
https://exercism.org/tracks/python
MIT License
1.88k stars 1.27k forks source link

OLD `functools` Module Concept Exercise #2366

Closed BethanyG closed 2 years ago

BethanyG commented 3 years ago

This issue describes how to implement the functools concept exercise for the python track.

Getting started

Please please please read the docs before starting. Posting PRs without reading these docs will be a lot more frustrating for you during the review cycle, and exhaust Exercism's maintainers' time. So, before diving into the implementation, please read up on the following documents:

Goal

This concept exercise is meant to teach an understanding/use of functools (e.g, the functools module) in Python.

Learning objectives

Learn more about the functional tools the Python Standard Library provides through the functools module. Build and understanding of and use the following methods and decorators from the module:

Out of scope

Concepts

Prerequisites

These are the concepts/concept exercises the student needs to complete/understand before solving this concept exercise.

Resources to refer to

Concept Description

Please see the following for more details on these files: concepts & concept exercises

Exercise Metadata - Track

For more information on concept exercises and formatting for the Python track config.json , please see concept exercise metadata. The track config.json file can be found in the root of the Python repo.

You can use the below for the exercise UUID. You can also generate a new one via exercism configlet, uuidgenerator.net, or any other favorite method. The UUID must be a valid V4 UUID.

Exercise Metadata Files Under .meta/config.json

For more information on exercise .meta/ files and formatting, see concept exercise metadata files

Implementation Notes

Help

If you have any questions while implementing the exercise, please post the questions as comments in this issue, or contact one of the maintainers on our Slack channel.

github-actions[bot] commented 3 years ago

This issue has been automatically marked as abandoned ๐Ÿš because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Tarun193 commented 2 years ago

Hey, I just want to work on this . But I am a newbee to open source. So, may I try to built it?

BethanyG commented 2 years ago

Hi @Tarun193 ๐Ÿ‘‹๐Ÿฝ

We're delighted you'd like to take this on! ๐ŸŽ‰

I'll assign this issue to you and remove the [help wanted] tag.

And don't worry -- we're happy to help you through the process. You can always ask questions here (or on Slack or Gitter if you are on those platforms), and we have loads of documents that outline what's required. Make sure to go over those spec docs carefully. ๐Ÿ˜… But at the same time, don't get intimidated - it if you take the tasks one at a time and work at a steady pace, the whole thing will come together nicely.

Additionally, I am happy to write up the concept docs (if you decide you don't want to do that part) and provide feedback or collaborate with you prior to you submitting a PR for formal review.

Just ping with questions - and have fun exploring and writing! ๐Ÿ˜„ ๐Ÿ’› ๐Ÿ’™

Tarun193 commented 2 years ago

Thanks , I will let you know when I need some help.

Tarun193 commented 2 years ago

Hey, I want to know that I have to write about these concepts.

functional tools in python functools module generic functions decorators higher-order functions partial objects in python/partial evaluation in python single dispatch

Tarun193 commented 2 years ago

hey anyone is here.

kotp commented 2 years ago

Yes. I saw this "Hey, " message when it got posted. It was, to me, a declaration, and so no request of action was recognized.

So, what can we help you with @Tarun193 ?

BethanyG commented 2 years ago

@Tarun193 -- My sincere apologies! I have been really swamped with work, and this slipped through the cracks. Yes, we do need to write about those concepts. But if you'd like, I can do the concept write-up, and you can focus on the exercise itself. Just let me know how you'd like to proceed.

Here is an example of what a concept write-up looks like. There is a longer about document, and a shorter "summary" with the introduction. There is also a links document for learning links for students to explore for a deeper understanding.

By contrast, here is an example of the related concept exercise. Note that there is an introduction -- but it can be pulled from the concept docs if you don't want to do a custom one.

We try to focus the concept docs on the topics that the exercise also covers. The introduction is available before a student completes the concept exercise, and the about displays after. The about often also covers additional details and applications of the concepts, and maybe some thought-provoking points or topics.

Beyond that, it's helpful to go through the links at the top of this issue for specifications, requirements, and other how-tos. I believe they're fairly up to date.

Let me know if you have additional questions or issues. I won't have time before this weekend, but can work on a concept writeup draft then, if you don't want to write one.

Best,

Tarun193 commented 2 years ago

No problem @BethanyG ,I would like to help in writing concept.

Tarun193 commented 2 years ago

hey I have wrote the introduction part of the concept , please let me know if some improvements required.

kotp commented 2 years ago

2986

BethanyG commented 2 years ago

โ—โ— Note to the contributor who picks this task:

The concept docs for this exercise were completed by a previous contributor, and can be found here: functools concept docs.

We suggest going through them before getting started with the rest of the documents and pinging if you have any questions or issues.

Metallifax commented 2 years ago

Hello :wave: I can pick up from where the last author left off since I can see there is already some momentum going. I'll study the resources while I wait to hear back. Thank you for your time, regards.

BethanyG commented 2 years ago

All yours and many thanks @Metallifax! ๐ŸŒŸ ๐ŸŽ‰ ๐ŸŒฎ

BethanyG commented 2 years ago

@Metallifax - do you still want to work on this? Totally OK if you do not. Just ping when you have time, and let us know. Thanks!

Metallifax commented 2 years ago

@BethanyG I feel bad for leaving this claimed for so long, but I've also been focused on other projects/work/study. That said, I don't want to be all excuses and would like to make a solid commitment to moving this exercise forward.

I finish schoolwork/tests on June 5th, and I'm hoping to have my personal project finished by then (hopefully); would that be an okay timeline to start making progress on this?

If this is too far into the future, I don't mind bowing out and letting another contributor take over. As easy as it'd be to just offload the work, I think the experience of making a concept exercise would be a tremendous opportunity for growth and would love to see the concept make it to production.

Let me know if this timeline works for everyone. Regards.

BethanyG commented 2 years ago

@Metallifax -- Thanks for letting us know! Totally understandable that you have life, studying, and work! I don't think we're in any particular hurry, so I'm fine with leaving you assigned (I just wanted to make sure you still wanted to take this on). If someone else does pick this up, we can ping at that point, or set up a collaboration. ๐Ÿ˜„

Good luck with school and all your projects!

github-actions[bot] commented 2 years ago

This issue has been automatically marked as abandoned ๐Ÿš because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Metallifax commented 2 years ago

I am working on it, just slower than I'd like. I'll try to get a PR out by the weekend to move it along. Thanks for the patience on this.

BethanyG commented 2 years ago

@Metallifax - This issue is up for a re-write (the issue template is getting updated, I'm adding more resources, and the spec might be getting reduced slightly), so I might close this and then re-open it fresh, if that's OK with you? I'll ping you on Slack whenI am done and you can then comment so I can re-assign you.

..and no worries or rush on the PR. That was just the bot talking..it gets itchy when something goes quiet for more than about 22 days....

Metallifax commented 2 years ago

Go ahead! Since we're on the topic of adding resources, I found broken links to the concept and concept exercise docs in the issue description (you're probably already aware):

Which I think should go to:

Unless we're going straight to the frontend:

Thanks again.

BethanyG commented 2 years ago

Yup! ๐Ÿ˜„ That's one of the reasons we're closing most of the issues logged in Feb. and re-writing them! See #3091 and #3092 for some examples. In addition to updating the links, we're going to be splitting the concept docs writing from the exercise writing, so if you still want to do both things (I think one will be "improve" the docs and the other will be "make" the exercise....), remember comment on both issues and I'll assign you to them.

Metallifax commented 2 years ago

Thank you for summarizing, and sounds great! I'll keep plugging away and keep an eye out for the new issue in the meantime.

BethanyG commented 2 years ago

The new issue is HERE: https://github.com/exercism/python/issues/3097. ๐Ÿ˜„ There will be an additional improvement issue for the concept docs shortly. Closing this now as "OLD".