Skip to content

Submission of Team 3 - #2

Open
isiddharthsingh wants to merge 3 commits into
nyuoss:mainfrom
isiddharthsingh:submission-team3
Open

Submission of Team 3#2
isiddharthsingh wants to merge 3 commits into
nyuoss:mainfrom
isiddharthsingh:submission-team3

Conversation

@isiddharthsingh

Copy link
Copy Markdown

Teammates:
Siddharth Singh - sms10221@nyu.edu
Adittya Mittal - am14079@nyu.edu
Anushka Tawte - at5849@nyu.edu
Rafael de Leon - rdl404@nyu.edu
Alex Ying - aty2009@nyu.edu
Mridul Mittal - mm13171@nyu.edu

@kyotov

kyotov commented Oct 6, 2024

Copy link
Copy Markdown
Collaborator

this is good overall
i put some comments on -- please review and let me know when you have addressed them

@kyotov

kyotov commented Oct 9, 2024

Copy link
Copy Markdown
Collaborator

are you guys planning to address any of the above?

@kyotov

kyotov commented Oct 9, 2024

Copy link
Copy Markdown
Collaborator

as is, i tentatively grade this at 85%

@kyotov kyotov closed this Oct 9, 2024
@kyotov kyotov reopened this Oct 9, 2024
@kyotov

kyotov commented Oct 9, 2024

Copy link
Copy Markdown
Collaborator

.

@kyotov kyotov self-assigned this Oct 9, 2024
Comment thread README.md Outdated
# mAIgic

## Project Description
**mAIgic** is a project focused on setting up testing, static analysis, and continuous integration (CI) using tools such as `pytest`, `ruff`, `mypy`, and CircleCI. It aims to automate quality checks, ensuring code correctness and adherence to best practices.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's not what the project is... it is an AI assistant, right?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes its an Ai assistant. for the start of the task we thought this is what we are doing and wrote the first readme and as we move ahead, we will make changes to the readme.

should we change it be an Ai Assistant?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, let's change it.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has been changed.

Comment thread README.md
### 2. Ruff (Linter)
Use `ruff` to run static analysis (linting) on your code:
```bash
ruff check .

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what checks are enabled?
can we make sure all checks are enabled?
discuss which checks you need to disable because they did not make sense.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

select = ["E", "F", "W"]:
This is selecting the following categories of checks:
E: PEP 8 style errors (e.g., indentation, whitespace issues)
F: PyFlakes checks (e.g., undefined names, unused variables)
W: PEP 8 style warnings (e.g., line breaks around operators)

Do you want us to enable all the checks?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you enable all the checks and then tell me which ones are too pesky and you felt like you wanted to disable?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have enabled all the checks.

Comment thread README.md
### 3. Mypy (Type Checking)
To perform static type checking using `mypy`, run:
```bash
mypy .

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what checks are enabled?
can we make sure all checks are enabled?
discuss which checks you need to disable because they did not make sense.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In our mypy.ini, these following checks are enabled:

python_version = 3.8: This specifies that mypy will assume your project is using Python 3.8. Any type hints or language features not supported by Python 3.8 will raise an error.

ignore_missing_imports = True: This setting tells mypy to ignore any missing type stubs (type information) for third-party libraries that do not have type hints. This prevents mypy from raising errors about missing types in libraries that aren’t type-annotated.

do you want us to include any specific checks?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i would lean towards enabling all available checks and then disabling ones that don't make sense.
let's also do latest version of python..,.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have made made the changes to python version and have changed to enable all the checks

Comment thread README.md Outdated
- run:
name: Install dependencies
command: |
pip install pytest ruff mypy

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same thing here -- it is not a great idea to repeat yourself.
otherwise when you add a new package you need you have to put it on multiple places

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we will update this

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this has been removed.

Comment thread README.md
### Common Errors:
1. **Missing Dependencies**: If any dependency-related issues arise, ensure all dependencies are installed by running:
```bash
pip install -r requirements.txt

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is better!
why mention the packages up there literally?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will remove the mention of packages from there

Comment thread mypy.ini Outdated
@@ -0,0 +1,3 @@
[mypy]
python_version = 3.8

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any reason we are not going with 3.12+?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems like you have 3.12 in your pyproject.toml

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no specific reason for the mypy file I found it from stack overflow and wrote that. we will make the changes to use the correct python version

Comment thread .circleci/config.yml Outdated
- run:
name: Install dependencies
command: |
pip install pytest ruff mypy

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

did you decide against uv?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

might have missed it. we will rectify it.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this has been changed.

@kyotov kyotov left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please address all comments and let me know when you are ready for me to take another look!

Comment thread README.md Outdated
# mAIgic

## Project Description
**mAIgic** is a project focused on setting up testing, static analysis, and continuous integration (CI) using tools such as `pytest`, `ruff`, `mypy`, and CircleCI. It aims to automate quality checks, ensuring code correctness and adherence to best practices.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, let's change it.

Comment thread README.md
### 2. Ruff (Linter)
Use `ruff` to run static analysis (linting) on your code:
```bash
ruff check .

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you enable all the checks and then tell me which ones are too pesky and you felt like you wanted to disable?

Comment thread README.md
### 3. Mypy (Type Checking)
To perform static type checking using `mypy`, run:
```bash
mypy .

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i would lean towards enabling all available checks and then disabling ones that don't make sense.
let's also do latest version of python..,.

@kyotov

kyotov commented Nov 7, 2024

Copy link
Copy Markdown
Collaborator

lets make sure we have src/maigic/... for the code so that the user can do from maigic.api import ...
also add api.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants