You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* small fixes in foundry
* other samples updated
* make it optional
* added instructions and response format to create agent
* mypy fix
* shortened main readme and improved python readme
Copy file name to clipboardExpand all lines: README.md
+24-99Lines changed: 24 additions & 99 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,9 @@ Highlights
9
9
- Multimodal: Text, vision, and function calling
10
10
- Cross-Platform: .NET and Python implementations
11
11
12
-
## Quick Install
12
+
Below are the basics for each language implementation. For more details on python see [here](./python/README.md) and for .NET see [here](./dotnet/README.md).
13
+
14
+
## Python - Quick Install
13
15
14
16
```bash
15
17
pip install agent-framework
@@ -25,13 +27,14 @@ Supported Platforms:
25
27
- Python: 3.10+
26
28
- OS: Windows, macOS, Linux
27
29
28
-
## 1. Setup API Keys
30
+
## Python - 1. Setup API Keys
29
31
30
32
Set as environment variables, or create a .env file at your project root:
Copy file name to clipboardExpand all lines: python/DEV_SETUP.md
+162Lines changed: 162 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,8 @@ want to run the tests included.
6
6
7
7
## System setup
8
8
9
+
We are using a tool called [poethepoet](https://github.com/nat-n/poethepoet) for task management and [uv](https://github.com/astral-sh/uv) for dependency management. At the [end of this document](#available-poe-tasks), you will find the available Poe tasks.
10
+
9
11
## If you're on WSL
10
12
11
13
Check that you've cloned the repository to `~/workspace` or a similar folder.
@@ -461,3 +463,163 @@ or:
461
463
This is assuming the upstream branch refers to the main repository. If you have a different name for the upstream branch, you can replace `upstream` with the name of your upstream branch.
462
464
463
465
After running the rebase command, you may need to resolve any conflicts that arise. If you are unsure how to resolve a conflict, please refer to the [GitHub's documentation on resolving conflicts](https://docs.github.com/en/get-started/using-git/resolving-merge-conflicts-after-a-git-rebase), or for [VSCode](https://code.visualstudio.com/docs/sourcecontrol/overview#_merge-conflicts).
466
+
467
+
# Task automation
468
+
469
+
## Available Poe Tasks
470
+
This project uses [poethepoet](https://github.com/nat-n/poethepoet) for task management and [uv](https://github.com/astral-sh/uv) for dependency management.
471
+
472
+
### Setup and Installation
473
+
474
+
Once uv is installed, and you do not yet have a virtual environment setup:
475
+
476
+
```bash
477
+
uv venv
478
+
```
479
+
480
+
and then you can run the following tasks:
481
+
```bash
482
+
uv sync --all-extras --dev
483
+
```
484
+
485
+
After this initial setup, you can use the following tasks to manage your development environment, it is adviced to use the following setup command since that also installs the pre-commit hooks.
486
+
487
+
#### `setup`
488
+
Set up the development environment with a virtual environment, install dependencies and pre-commit hooks:
489
+
```bash
490
+
uv run poe setup
491
+
# or with specific Python version
492
+
uv run poe setup --python 3.12
493
+
```
494
+
495
+
#### `install`
496
+
Install all dependencies including extras and dev dependencies, including updates:
497
+
```bash
498
+
uv run poe install
499
+
```
500
+
501
+
#### `venv`
502
+
Create a virtual environment with specified Python version or switch python version:
503
+
```bash
504
+
uv run poe venv
505
+
# or with specific Python version
506
+
uv run poe venv --python 3.12
507
+
```
508
+
509
+
#### `pre-commit-install`
510
+
Install pre-commit hooks:
511
+
```bash
512
+
uv run poe pre-commit-install
513
+
```
514
+
515
+
### Code Quality and Formatting
516
+
517
+
Each of the following tasks are designed to run against both the main `agent-framework` package and the extension packages, ensuring consistent code quality across the project.
518
+
519
+
#### `fmt` (format)
520
+
Format code using ruff:
521
+
```bash
522
+
uv run poe fmt
523
+
```
524
+
525
+
#### `lint`
526
+
Run linting checks and fix issues:
527
+
```bash
528
+
uv run poe lint
529
+
```
530
+
531
+
#### `pyright`
532
+
Run Pyright type checking:
533
+
```bash
534
+
uv run poe pyright
535
+
```
536
+
537
+
#### `mypy`
538
+
Run MyPy type checking:
539
+
```bash
540
+
uv run poe mypy
541
+
```
542
+
543
+
### Testing
544
+
545
+
#### `test`
546
+
Run unit tests with coverage:
547
+
```bash
548
+
uv run poe test
549
+
```
550
+
551
+
### Documentation
552
+
553
+
#### `docs-clean`
554
+
Remove the docs build directory:
555
+
```bash
556
+
uv run poe docs-clean
557
+
```
558
+
559
+
#### `docs-build`
560
+
Build the documentation:
561
+
```bash
562
+
uv run poe docs-build
563
+
```
564
+
565
+
#### `docs-serve`
566
+
Serve documentation locally with auto-reload:
567
+
```bash
568
+
uv run poe docs-serve
569
+
```
570
+
571
+
#### `docs-check`
572
+
Build documentation and fail on warnings:
573
+
```bash
574
+
uv run poe docs-check
575
+
```
576
+
577
+
#### `docs-check-examples`
578
+
Check documentation examples for code correctness:
579
+
```bash
580
+
uv run poe docs-check-examples
581
+
```
582
+
583
+
### Code Validation
584
+
585
+
#### `markdown-code-lint`
586
+
Lint markdown code blocks:
587
+
```bash
588
+
uv run poe markdown-code-lint
589
+
```
590
+
591
+
#### `samples-code-check`
592
+
Run type checking on samples:
593
+
```bash
594
+
uv run poe samples-code-check
595
+
```
596
+
597
+
### Comprehensive Checks
598
+
599
+
#### `check`
600
+
Run all quality checks (format, lint, pyright, mypy, test, markdown lint, samples check):
601
+
```bash
602
+
uv run poe check
603
+
```
604
+
605
+
#### `pre-commit-check`
606
+
Run pre-commit specific checks (all of the above, excluding `mypy`):
607
+
```bash
608
+
uv run poe pre-commit-check
609
+
```
610
+
611
+
### Building
612
+
613
+
#### `build`
614
+
Build the package:
615
+
```bash
616
+
uv run poe build
617
+
```
618
+
619
+
## Pre-commit Hooks
620
+
621
+
You can also run all checks using pre-commit directly:
0 commit comments