Request: Split up the Dataframe API documentation

The documentation page at https://docs.dask.org/en/latest/dataframe-api.html is difficult to use at this point. It takes my browser ~10 seconds to load the entire page and become responsive (or to scroll to the linked to content after loading). Finding anything on the page produces hundreds of entries for most search terms.
I've tried just downloading the pdf instead from (https://docs.dask.org/_/downloads/en/latest/pdf/) but the TOC there only has three sections and is a bit hard to navigate.
I love all the docs (seriously, thank you) they're just a bit hard to browse at the moment when I can't quite remember what the supported methods are on a dask object.

I have also had this experience. Thanks for bringing it up! Do you have suggestions for how to split it up?
My first idea is to make each of these separate pages:

I have also had this experience. Thanks for bringing it up! Do you have suggestions for how to split it up?
My first idea is to make each of these separate pages:

Yep -  I think that makes sense to me! I wasn't able to post a picture before, but the PDF sections are

for some reason.

Yep -  I think that makes sense to me! I wasn't able to post a picture before, but the PDF sections are

for some reason.

is this issue open for work @jsignell

Another option would be to keep the TOC/index page the same, but to split off each function into a separate page.  This is similar to what Pandas does.
I recommend that we do what Pandas does here.
See https://pandas.pydata.org/pandas-docs/stable/reference/index.html
@rajpratyush yes, anyone can work on anything, you do not need to ask for permission.


Speed up amplify push for faster development iterations

Is your feature request related to a problem? Please describe.
I'm creating custom resolvers, etc.. through nested stacks and doing amplify push to see the results in the backend. amplify push takes longer than I want to do its things (several minutes - and longer if there's a rollback). Would be great if it was faster. This impacts developer productivity.
Describe the solution you'd like
Faster amplify pushes. Or, more advanced syntax checking of my nested stack, or some kind of amplify pull so I can do my changes in the AppSync console and it's just pulled to my local files.

@hisham We rely on Cloudformation directly for our deployment and we cannot directly impact the speed at which Cloudformation deploys.
Having said that we're going to have an RFC out soon for amplify appsync pull. I'll update this thread once we have that out for you to review and comment on it.

@hisham We rely on Cloudformation directly for our deployment and we cannot directly impact the speed at which Cloudformation deploys.

@kaustavghosh06 do you mean technically speaking? I'm wondering if CloudFormation could integrate with Amplify by detecting an Amplify push and lift (or soften) whatever internal limits AWS has on CF concurrency or compute power.
I think prioritizing fixing #836 can resolve this issue. push speed is only an issue because the CLI currently seems to runs the entire template (including nested templates). It seems like @hisham is only iteratively developing his AppSync (GraphQL) schema, but also has other categories (e.g. auth and hosting) configured for his environment, and his push speed is being limited by the lack of working amplify api push command.

Calling aws cloudformation validate-template on the nested stack template before doing a push catches some errors btw very quickly. It seems this should be called all the time before push and is a quick win.

Hey guys, we enabled individual category and resource name push. Please give it a try by installing the latest version of the CLI.

Even if using the "individual category and resource name push" feature to send my lambda code. It's still taking a lot of time and the whole cloudformation stack is being run.
For any project initialization this is important and the amplify push times are just inadmissible. I would say that this fact is reducing my productivity around 500% against de 250% that was boosting initially compared against other solutions and architectures.


PDF coordinates from backend to pdfjs

Attach (recommended) or Link to PDF file here:
Configuration:

Web browser and its version: Chrome (latest)
Operating system and its version: Mac (latest)
PDF.js version: Latest (seriously)
Is a browser extension: Nope

Steps to reproduce the problem:
None. I am logging this as a question. No issue.
What is the expected behavior? (add screenshot)
N/A
What went wrong? (add screenshot)
N/A
Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):
N/A
My question is as follows:

For a specific string on a PDF, I am getting a rectangle from backend solution
(482.144, 103.423, 533.926, 112.757) and width of 51.78 and height of the font is 9.233.
Page's view is [0, 0, 594.72, 775.08].
When I load the same pdf in pdfjs, I get a transform array as [8.630225, 0, 0, 9.333, 482.145, 664.62] for the same specific string.
My goal is to simple identify the rectangle coordinates from my backend solution and pass them to PDFJS and then create a highlighting of the text. Once received, I would like to convert these rectangles coordinates to Pdfjs >> gettextcontext >> item >> transform. However, I am unable to derive the transform[0] and transform[5] from my rectangle coordinates.`

What have I done so far:

Backend solution has its coordinates start at the bottom left and canvas in pdfjs starts at the top left (hope I am correct on this).
Using this, I tried to calculate the transform[5] in the pdfjs transform as 775.08 - 112.757. However, I don't get 664.62 number. transform[4] in pdfjs transform matches with x0 in the backend solution rectangle so I am good there. Problem is with y coordinate.
I have also attempted to step through the code in developer tools but I am just not able to get to the bottom of it.
I have tried:

var tx = pdfjsLib.Util.transform(
pdfjsLib.Util.transform(
viewport.transform,
textItems[i].transform
),
[1, 0, 0, -1, 0, 0]
);
However, this does not give me the expected numbers either.
If I could get some help on this then I would very appreciative!! In the meantime, I'll continue to step through code to see if I can locate something. But, I have logged this request after exhaustive investigation over a week. Maybe I am just not looking in the right place or don't understand things :(

After further investigation, I found a common number that shows a difference between transform[5] coordinate from pdfjs and rectangle calculation from the backend solution:
Backend solution rectangle coordinates: (482.144, 103.423, 533.926, 112.757)
PDFJS transform: [8.630225, 0, 0, 9.333, 482.145, 664.62]
My calculation:
662.323 (775.08 -112.757) from backend solution....im doing this because the coordinates are flipped between my backend solution and pdfjs (canvas)
VS
664.62 from PDFJS
Difference is 2.297
This number holds true for all of the items PDFJS finds.
You guys are the experts and I would greatly appreciate if you could shed some light on how this 2.297 is being derived. Can I use this as a constant for all of the items?
Appreciate in advance you taking the time to look into this for me.
Thanks!

This looks like #10508 which was merged just a few days ago. It fixed #8276 which caused transform arrays to be calculated incorrectly. You could verify this by checking out the code from the master branch.

Thanks @timvandermeij! I tried the following and still got the same number:

git clone the pdfjs repo (git clone https://github.com/mozilla/pdf.js.git)
npm install
npm i pdfjs-dist
modified simpleviewer.html and simpleviewer.js so that I could add a breakpoint for the text I am looking for.
gulp server

And still got the transform[5] as 664.62.
Anything else would you recommend checking if all above steps were followed correctly?
This maybe too much to ask, but if it possible: using just plain addition/subtraction, would you know if pdfjs is calculating transform[5] correctly?
Thanks again!!

@timvandermeij - I have hunch behind that mysterious difference and wanted to see if I could run it by you:
I used "http://brendandahl.github.io/pdf.js.utils/browser/" to review my pdf doc's internals and those rectangle coordinates and other data point, that I mentioned in above comments, pertains to below string (07/14/2016):
Tm /TT1 1 Tf (ate: ) Tj ET Q q 1 0 0 1 0 -0.06 cm BT 8.630225 0 0 9.333 482.145 664.68
Tm /TT1 1 Tf (07/14/2016) Tj ET Q q 1 0 0 1 0 -0.06 cm BT 14.62766 0 0 10.667 57.164 604.2

When I stepped through the code, I saw this matrix ([1 0 0 1 0 -0.06]) used in matrix multiplication at multiple different places. There is a "cm" after this matrix which I think stands of centimeter. This is a total guess as I am not aware of PDF's internal workings, but, def learned quite a bit in last week lol...feel free to shoot it down if it is incorrect.
I converted the -0.06 from cm to px and got "-2.267716535". In my backend solution, I converted the rectangle coordinates that I was getting with a matrix which was converted from cm to px: [1 0 0 1 0 -2.267716535] and I got values which are fairly close to what PDFJS is giving me in transform[5].
Converting that -0.06 to computer points didn't give me the mysterious difference.
Would you say I am on the right track?
I can't share the actual PDF because it has sensitive date. Sorry.
Thanks!

Attach (recommended) or Link to PDF file here:

Without access to a test-case, this issue is unfortunately not actionable.

For a specific string on a PDF, I am getting a rectangle from backend solution
(482.144, 103.423, 533.926, 112.757) and width of 51.78 and height of the font is 9.233.

Page's view is [0, 0, 594.72, 775.08].

When I load the same pdf in pdfjs, I get a transform array as [8.630225, 0, 0, 9.333, 482.145, 664.62] for the same specific string.

This entire issue seems to be based on the assumption that the result obtained from the backend is correct and that PDF.js is wrong. However, what if it's actually the other way around?
(Please note that I'm not saying there isn't a problem in the PDF.js library, but it seems reasonable to "challenge" what seems to be the basis for this issue.)
Furthermore, without access to neither the PDF file nor the complete implementation it's unfortunately not possible for anyone to provide assistance; please see https://github.com/mozilla/pdf.js/blob/master/.github/CONTRIBUTING.md (emphasis mine):

If you are developing a custom solution, first check the examples at https://github.com/mozilla/pdf.js#learning and search existing issues. If this does not help, please prepare a short well-documented example that demonstrates the problem and make it accessible online on your website, JS Bin, GitHub, etc. before opening a new issue or contacting us on the IRC channel -- keep in mind that just code snippets won't help us troubleshoot the problem.

There is a "cm" after this matrix which I think stands of centimeter.

cm is simply the transform operator, it relates to the "user space units" in the PDF specification.

Thanks @Snuffleupagus for taking the time and replying! I was afraid this question would come up and I would not have an answer for it, which is why I waited for a week to do as much due diligence as possible. Let me see if I can use a generic pdf and recreate an example. However, I would like to point out that I don't think there is an issue on either side at this time because I don't know how transform[5] value is calculated. Hence I logged this request as a question and said:

Steps to reproduce the problem:
None. I am logging this as a question. No issue.

If I could get some knowledge on how transform[5] value is calculated then that should be sufficient for me to go back and figure out whether the issue is in pdfjs or backend solution. Going through pdfjs issues in github, I wasn't able to find an answer to this. If the answer to this question is no, then feel free to close this.
Thanks!

If I could get some knowledge on how transform[5] value is calculated then that should be sufficient for me to go back and figure out whether the issue is in pdfjs or backend solution.

I'm not sure how helpful this is, but the relevant part of the PDF specification can be found here: https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/PDF32000_2008.pdf#G8.1910927
and the current PDF.js implementation can be found here:
https://github.com/mozilla/pdf.js/blob/dfe7d9bc26548cb8ad6ff09eb66efa85ce248bb9/src/core/evaluator.js#L1278-L1866

Thanks @Snuffleupagus. I was already going through the loop but I wasn't able to determine the exact pattern. But, let me see if I can create a PDF with just that one value and its associating rect coordinates. That should make it easier to go through that loop.
If possible, can we keep this ticket open for few days please?

@timvandermeij Should we close this now, since there's unfortunately not enough information to make it actionable from a PDF.js point-of-view.


Convert examples to Typescript

I will close this issue as it is been resolved with the version 2.0.0. Please use https://github.com/alex3165/react-mapbox-gl/issues/237 to be updated on the state of 2.0.0.


prefix.sh: repair style

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[ ] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

repair prefix.sh style for brew style with shellcheck --enable=all
https://github.com/Homebrew/brew/blob/fa3af8d24d0335641e58a4355fa9de6d42ae4982/Library/Homebrew/style.rb#L188
related #11086

Thanks again @hyuraku!


Support Symfony 3.0

This one fails because of https://github.com/SimpleBus/AsynchronousBundle/pull/4

Thanks for this one too :)


BaseDataset

BaseDataset Class
In the current implementation, we only define a single LuxonisDataset class for dataset management. However, we wish to support using additional datasets with the Registry. More specifically, we wish to allow plugins from other libraries such that other libraries can define their own e.g. PluginDataset to override the necessary dataset functions.
Proposed Solution
We should implement a BaseDataset abstract class to define the necessary methods for implementing and integrating custom dataset classes into our MLOPs stack.
Current Method
class LuxonisDataset:
    def set_classes(self, classes: List[str], ...) -> None:
        """docstring"""
        ...

Proposed Method
class BaseDataset(ABC, ...):
    def set_classes(self, classes: List[str], ...) -> None:
        """docstring"""
        ...

class LuxonisDataset(BaseDataset, ...):
    def set_classes(self, classes: List[str], ...) -> None:
        # override method here!

Opening up the possibility to define
class PluginDataset(BaseDataset, ...):
    def set_classes(self, classes: List[str], ...) -> None:
        # override method here!

Resolved in #84


NameTranslation: ensure that preferred names are preferred to implicit names in @objc(). rdar://30658589

Implicit names in @objc() are essentially cached auto-translated Swift names. This patch ensures that we don't mistake them for explicitly specified objc selectors.

@swift-ci please smoke test

@swift-ci please smoke test


Inheritance Handling

Based on #310

@tvillaren Oh hey never mind, sorry it was my fault.  Sorry for that. Now it’s working. I'll keep testing in my project 👍

@tvillaren OK I've confirmed this is working! 🎉  Do you have any further work to do?

Hey @kiaking,
Just fixed a bug I had missed (I guess my tests were not covering 100% of use cases).
Anyway, it works again and I included @trevorpe suggestion for removing code repetiton.

@tvillaren Thank you so much! Just need to check why test coverage has dropped, I'll try look into it.

OK now I think this ready, I'll merge it. I've done some huge doc refactor so after merging this one, I'll import this docs to that docs and make a release!


Added support requireJS

Hi!
With this additions the library will support RequireJS loading contexts.
It would be better to add a whole UMD loader stub, but in the meantime with this small addition the requirejs will works without impacting any other loaders.
Thanks,
Luciano

Is there any simple way to test this? I have never used RequireJS and am just looking at the documentation now...
Two important things to check:

It doesn't break any existing code (should be easy, just check all the existing test cases pass)
Does it adhere to the RequireJS API and such? Could you find someone to code review this aspect? Could you also point me to a simple link that can summarize best practices, and this pattern?

Thanks :)

Hey @lmartorella,
I've made similar changes as you proposed in change https://github.com/ricmoo/aes-js/commit/548b7e61d9a2885a368efccf772fb94f2f1bb345.
Please have a look and try it out.
Thanks.

Thanks, the change is OK!
Luciano


Byte attr support

[ ] Closes #7186
[ ] Adds support for bytes as dataset attributes
[ ] Because h5netcdf does not support arbitrary binaries as attributes, adds a check that the binary is an encoded utf8 free of null characters if this is the engine

Thank you!
Could we add a test?

I've made the requested changes + cleaned up the commit history

Thanks @hollymandel !
I'll merge shortly. Please feel free to add a brief note to whatsnew...


Handling ValidationException in readOne call during initial creation.

Issue #127 , if available:
Description of changes:
Adding a condition as per Jay's suggestion on PR #232
The generate content now looks like
// newDescribeRequestPayload returns SDK-specific struct for the HTTP request
// payload of the Describe API call for the resource
func (rm *resourceManager) newDescribeRequestPayload(
	r *resource,
) (*svcsdk.GetApiInput, error) {
	res := &svcsdk.GetApiInput{}

	// If all the requiredKoStatusFields are missing, AWS resource is not created yet. Return NotFound exception
	if r.ko.Status.APIID == nil {
		return nil, ackerr.NotFound
	}
	if r.ko.Status.APIID != nil {
		res.SetApiId(*r.ko.Status.APIID)
	}

	return res, nil
}

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Closing in favor of https://github.com/aws/aws-controllers-k8s/pull/271


Missing LICENSE

Hi, what is the license of that code? The LICENCE file is missing.

The Unlicense used by yt-dlp or ytdl-org (and many others)?

Added license in b6738c0


add *.pyi stubs in scipy.stats

I have now access to another system. I can confirm that this commit solves the mypy test.


Made the Example more readable in the readme

Made the readability better and code example shorter in the readme (Example)

Thank you for your contribution. However, the export validators does not exist in Valibot. With your changes, the code example is broken.

Ok sorry,I felt that validators do exist in valibot, I would close this PR then.


1.15.2 - NullPointerException onCombat() Event

Hi! First thanks to your light and simple plugin ! I tried it on my private server (Spigot 1.15.2 lastest version). This error appear when player attack all entities or get damage by all entities.
I use the 4.2.0 version of your plugin.

[12:40:35] [Server thread/ERROR]: Could not pass event EntityDamageByEntityEvent to AntiRelog v4.2.0
[...]
Caused by: java.lang.NullPointerException
at pl.jeremi.antirelog.AntiRelog.onCombat(AntiRelog.java:90) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_241]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_241]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:315) ~[spigot-1.15.2.jar:git-Spigot-6de3d4b-a6f8093]
... 28 more

Hi, I think I see where the problem is (missing null check) and I wonder how that ever worked... I'll fix it as soon as I have some spare time.


Linking QRNG Q# code to samples repository

Doing this avoid missmatching and keep a standarized way of writing tutorials.

Acrolinx Scorecards
A minimum Acrolinx score of 80 is required.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology.

Article
Acrolinxscore
Lowestcategoryscore
Spellingissues
Scorecard
Processed

articles/quickstarts/qrng.md
87
72
2
link
:white_check_mark:

More information about Acrolinx

Install Acrolinx locally for VSCode
False positives or issues
Troubleshooting issues with Acrolinx

Docs Build status updates of commit 5775916:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/quickstarts/qrng.md
:white_check_mark:Succeeded
View (qsharp-preview)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

To double check I've done the experience from the installation guide to complete this tutorial and Ï dind't get any errors.

Looks good in the preview rendering, so going on and approving. Thanks for doing this!


KeyError: 'tools'

Environment
Python 3.11
Windows 10
crew==0.9.2
crewai==0.28.8
crewai-tools==0.2.4
langchain==0.1.17
langchain-community==0.0.36
langchain-core==0.1.51
langchain-openai==0.0.5
langsmith==0.1.50

Code
import os
from crewai import Agent, Task, Crew, Process
from crewai_tools import WebsiteSearchTool
from crewai_tools import GithubSearchTool
from crewai_tools import YoutubeVideoSearchTool
from crewai_tools import ScrapeWebsiteTool
from crewai_tools import CodeDocsSearchTool
from crewai_tools import EXASearchTool
from langchain_openai import ChatOpenAI
from langchain_community.document_loaders import DirectoryLoader

OPENAI_API_BASE='http://localhost:11434/v1' # Using Ollama for local models
OPENAI_API_KEY='NA'
os.environ['OPENAI_API_KEY'] = OPENAI_API_KEY
OPENAI_GENERAL_MODEL_NAME='llama2'
OPENAI_CODING_MODEL_NAME='codellama:34b'

PROJECT_ASK = """
    I want to start with a simple test project to see how the team works together. Right now,
    there's only yourself and the Frontend Developer on the team.
    I'd like you to create a simple register/login page for a web application.
    I'd like it to be programmed in Svelte, and I'd like it to have the following features:
    - A registration form with fields for email, username, and password
    - A login form with fields for email and password
    - A button to switch between the registration and login forms
    - A button to submit the registration form
    - A button to submit the login form
    - A simple error message that appears if the user enters the wrong email or password
    - A simple success message that appears if the user successfully registers or logs in
    - A simple design that is visually appealing and responsive
    - A simple user interface that is easy to use and understand

    Show me the code and instructions to run the frontend on my local machine as defined by the
    frontend developer.
"""

# Default LLM
llm = ChatOpenAI(
    model=OPENAI_GENERAL_MODEL_NAME,
    base_url=OPENAI_API_BASE,
)

# LlamaCode model
llm_code = ChatOpenAI(
    model=OPENAI_CODING_MODEL_NAME,
    base_url=OPENAI_API_BASE,
)

# AGENTS
project_manager = Agent(
    role='Project Manager',
    goal='Works directly with the Client and delegates tasks to the team/reports back to the Client',
    backstory="""I am an experienced Project Manager in the software development space with a proven track record of successfully delivering projects.
                 I excel at creating and maintaining detailed project plans, coordinating team activities, and communicating effectively with stakeholders.
                 I work closely with the client to understand their requirements, and then delegate tasks to the appropriate team members.
                 I report updates back to the client and ask for instructions, feedback and approval as needed by the team and client.
                 I am able to reference all kinds of materials such as books/PDFs, websites, Github repos, videos and search engine results to get the information I need to make informed decisions.
                 My focus is on ensuring the project meets the client's requirements and is delivered to the highest standard of quality.""",
    tools=[DirectoryLoader(path="./free_programming_books/project_manager",
                           recursive=True,
                           show_progress=True),
           WebsiteSearchTool(website='https://www.google.ca/'),
           YoutubeVideoSearchTool(),
           ScrapeWebsiteTool(),
           ],
    llm=llm,
    function_calling_llm=None,
    max_iter=15,
    max_rpm=None,
    verbose=True,
    allow_delegation=True,
    step_callback=None,
    cache=True,
)

frontend_developer = Agent(
    role='Frontend Developer',
    goal='Design and implement the user interface of the web application',
    backstory="""I am a knowledgable frontend developer with experience in designing and implementing user interfaces for web applications.
                 I have a strong understanding of HTML, CSS, and JavaScript, as well as modern frontend frameworks like Svelte, Node, Vue, and React.
                 My focus is on creating visually appealing, responsive, and user-friendly interfaces that meet the client's requirements and enhance the user experience.
                 I work with the Backend Developer, Database Administrator, Security Engineer, and DevOps Engineer to ensure the frontend integrates seamlessly with the backend and meets all requirements set by both the Client and the team.
                 I am able to reference all kinds of materials such as books/PDFs, websites, Github repos, videos and search engine results to get the information I need to make informed decisions.
                 I am also responsible for ensuring the frontend is optimized for performance and accessibility, and that it follows best practices in terms of security and maintainability.""",
           # Svelte resources
    tools=[DirectoryLoader(path="./free_programming_books/svelte",
                           recursive=True,
                           show_progress=True),
           GithubSearchTool(github_repo="https://github.com/sveltejs/svelte"),
	   #........
           ],
    llm=llm_code,
    function_calling_llm=None,
    max_iter=15,  # Optional, default is 25
    max_rpm=None, # Optional
    verbose=True,  # Optional
    allow_delegation=True,  # Optional
    step_callback=None,  # Optional
    cache=True,  # Optional
)

# TASKS
project_manager_task = Task(
    description=PROJECT_ASK,
    agent=project_manager,
    expected_output="Summary of the project's vision (showcasing a thorough understanding of the Client's requirements), and all features grouped by team member responsibilty (i.e. Frontend Developer, Backend Developer, Database Administrator, Security Engineer, DevOps Engineer).",
    # tools=[SerperDevTool(), JiraTool()],
    async_execution=False,
    context=None,
    config=None,
    output_json=None,
    output_pydantic=None,
    output_file=None,
    callback=None,
    human_input=True,
)

frontend_developer_task = Task(
    description="Design and implement the user interface of the web application.",
    agent=frontend_developer,
    expected_output="A visually appealing, responsive, and user-friendly interface that meets the client's requirements and enhances the user experience.",
    async_execution=False,
    context=[project_manager_task],
    config=None,
    output_json=None,
    output_pydantic=None,
    output_file=None,
    callback=None,
    human_input=True,
)

# Create the crew and assign the tasks
crew = Crew(
    id='Software Development Crew',
    tasks=[project_manager_task, frontend_developer_task],
    agents=[project_manager, frontend_developer],
    verbose=2,
    share_crew=False,
)

# Kick off the crew
crew.kickoff()

Error traceback
Traceback (most recent call last):
  File "I:\nasty\Python_Projects\LLM\CrewAI\DevelopersOnlyTeam\main.py", line 65, in <module>
    project_manager = Agent(
                      ^^^^^^
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\crewai\agent.py", line 131, in __init__
    super().__init__(**config, **data)
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydantic\main.py", line 171, in __init__
    self.__pydantic_validator__.validate_python(data, self_instance=self)
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\crewai\agent.py", line 172, in set_agent_executor
    self.set_cache_handler(self.cache_handler)
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\crewai\agent.py", line 244, in set_cache_handler
    self.create_agent_executor()
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\crewai\agent.py", line 305, in create_agent_executor
    self.agent_executor = CrewAgentExecutor(
                          ^^^^^^^^^^^^^^^^^^
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\langchain_core\load\serializable.py", line 120, in __init__
    super().__init__(**kwargs)
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydantic\v1\main.py", line 339, in __init__
    values, fields_set, validation_error = validate_model(__pydantic_self__.__class__, data)
                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydantic\v1\main.py", line 1100, in validate_model
    values = validator(cls_, values)
             ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\langchain\agents\agent.py", line 980, in validate_tools
    tools = values["tools"]
            ~~~~~~^^^^^^^^^
KeyError: 'tools'

Other Notes

VALUES
{'name': None, 'memory': None, 'callbacks': None, 'verbose': True, 'tags': None, 'metadata': None, 'callback_manager': None, 'agent': RunnableAgent(runnable={
  input: RunnableLambda(...),
  tools: RunnableLambda(...),
  tool_names: RunnableLambda(...),
  agent_scratchpad: RunnableLambda(...)
}
| PromptTemplate(input_variables=['agent_scratchpad', 'input', 'tool_names', 'tools'], partial_variables={'goal': 'Works directly with the Client and delegates tasks to the team/reports back to the Client', 'role': 'Project Manager', 'backstory': "I am an experienced Project Manager in the software development space with a proven track record of successfully delivering projects. \n                 I excel at creating and maintaining detailed project plans, coordinating team activities, and communicating effectively with stakeholders.\n                 I work closely with the client to understand their requirements, and then delegate tasks to the appropriate team members.\n                 I report updates back to the client and ask for instructions, feedback and approval as needed by the team and client.\n                 I am able to reference all kinds of materials such as books/PDFs, websites, Github repos, videos and search engine results to get the information I need to make informed decisions.\n                 My focus is on ensuring the project meets the client's requirements and is delivered to the highest standard of quality."}, template='You are {role}. {backstory}\nYour personal goal is: {goal}\nYou ONLY have access to the following tools, and should NEVER make up tools that are
not listed here:\n\n{tools}\n\nUse the following format:\n\nThought: you should always think about what to do\nAction: the action to take, only one name of [{tool_names}], just the name, exactly as it\'s written.\nAction Input: the input to the action, just a simple a python dictionary using " to wrap keys and values.\nObservation: the result of the action\n\nOnce all necessary information is gathered:\n\nThought: I now know the final answer\nFinal Answer: the final answer to the original input question\n\nCurrent Task: {input}\n\nBegin! This is VERY important to you, use the tools available and give your best Final Answer, your job depends on it!\n\nThought: \n{agent_scratchpad}')
| RunnableBinding(bound=ChatOpenAI(callbacks=[<crewai.utilities.token_counter_callback.TokenCalcHandler object at 0x0000024340A9DF50>], client=<openai.resources.chat.completions.Completions object at 0x0000024340A8FE90>, async_client=<openai.resources.chat.completions.AsyncCompletions object at 0x0000024342829390>, model_name='llama2', openai_api_key='NA', openai_api_base='http://localhost:11434/v1', openai_proxy=''), kwargs={'stop': ['\nObservation']})
| CrewAgentParser(agent=Agent(role=Project Manager, goal=Works directly with the Client and delegates tasks to the team/reports back to the Client, backstory=I am an experienced Project Manager in the software development space with a proven track record of successfully delivering projects.
                   I excel at creating and maintaining detailed project plans, coordinating team activities, and communicating effectively with stakeholders.
                   I work closely with the client to understand their requirements, and then delegate tasks to the appropriate team members.
                   I report updates back to the client and ask for instructions, feedback and approval as needed by the team and client.
                   I am able to reference all kinds of materials such as books/PDFs, websites, Github repos, videos and search engine results to get the information I need to make informed decisions.
                   My focus is on ensuring the project meets the client's requirements and is delivered to the highest standard of quality.)), input_keys_arg=[], return_keys_arg=[], stream_runnable=True), 'return_intermediate_steps': False, 'max_iterations': 15, 'max_execution_time': None, 'early_stopping_method': 'force', 'handle_parsing_errors': True, 'trim_intermediate_steps': -1, 'should_ask_for_human_input': False, 'llm': ChatOpenAI(callbacks=[<crewai.utilities.token_counter_callback.TokenCalcHandler object at 0x0000024340A9DF50>], client=<openai.resources.chat.completions.Completions object at 0x0000024340A8FE90>, async_client=<openai.resources.chat.completions.AsyncCompletions object at 0x0000024342829390>, model_name='llama2', openai_api_key='NA', openai_api_base='http://localhost:11434/v1', openai_proxy=''), 'iterations': 0, 'task': None, 'tools_description': '', 'tools_names': '', 'original_tools': [<langchain_community.document_loaders.directory.DirectoryLoader object at 0x0000024340AE26D0>, WebsiteSearchTool(name='Search in a specific website', description="Search in a specific website(search_query: 'string') - A tool that can be used to semantic search a query from https://www.google.ca/ website content.", args_schema=<class 'crewai_tools.tools.website_search.website_search_tool.FixedWebsiteSearchToolSchema'>, description_updated=False, cache_function=<function BaseTool.<lambda> at 0x0000024342351300>, summarize=False, adapter=EmbedchainAdapter(embedchain_app=<embedchain.app.App object at 0x00000243422B2D90>, summarize=False), config=None), YoutubeVideoSearchTool(name='Search a Youtube Video content', description="Search a Youtube Video content(search_query: 'string', youtube_video_url: 'string') - A tool that can be used to semantic search a query from a Youtube Video content.", args_schema=<class 'crewai_tools.tools.youtube_video_search_tool.youtube_video_search_tool.YoutubeVideoSearchToolSchema'>, description_updated=False, cache_function=<function BaseTool.<lambda> at 0x0000024342351300>, summarize=False, adapter=EmbedchainAdapter(embedchain_app=<embedchain.app.App object at 0x0000024342768D10>, summarize=False), config=None), ScrapeWebsiteTool(name='Read website content', description="Read website content(website_url: 'string') - A tool that can be used to read a website content.", args_schema=<class 'crewai_tools.tools.scrape_website_tool.scrape_website_tool.ScrapeWebsiteToolSchema'>, description_updated=False, cache_function=<function BaseTool.<lambda> at 0x0000024342351300>, website_url=None, cookies=None, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', 'Accept-Language': 'en-US,en;q=0.9', 'Referer': 'https://www.google.com/', 'Connection': 'keep-alive', 'Upgrade-Insecure-Requests': '1', 'Accept-Encoding': 'gzip, deflate, br'})], 'crew_agent': Agent(role=Project Manager, goal=Works directly with the Client and delegates tasks to the team/reports back to the Client, backstory=I am an experienced Project Manager in the software development space with a proven track record of successfully delivering projects.
                 I excel at creating and maintaining detailed project plans, coordinating team activities, and communicating effectively with stakeholders.
                 I work closely with the client to understand their requirements, and then delegate tasks to the appropriate team members.
                 I report updates back to the client and ask for instructions, feedback and approval as needed by the team and client.
                 I am able to reference all kinds of materials such as books/PDFs, websites, Github repos, videos and search engine results to get the information I need to make informed decisions.
                 My focus is on ensuring the project meets the client's requirements and is delivered to the highest standard of quality.), 'crew': None, 'function_calling_llm': None, 'request_within_rpm_limit': None, 'tools_handler': <crewai.agents.tools_handler.ToolsHandler object at 0x0000024342A2F210>, 'have_forced_answer': False, 'force_answer_max_iterations': None, 'step_callback': None}

My initial guess here is that this:
        agent = values["agent"]
        tools = values["tools"]

...should be changed to this:
        agent = values["agent"]
        tools = agent["tools"]

...given that the 'tools' key is subbed inside the 'agent' key, however when I change that section of code, I get this error instead which I think is easily fixed, I just don't know how to/how far this rabbit hole goes, so maybe a dev can look into it?
Traceback (most recent call last):
  File "I:\nasty\Python_Projects\LLM\CrewAI\DevelopersOnlyTeam\main.py", line 65, in <module>
    project_manager = Agent(
                      ^^^^^^
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\crewai\agent.py", line 131, in __init__
    super().__init__(**config, **data)
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydantic\main.py", line 171, in __init__
    self.__pydantic_validator__.validate_python(data, self_instance=self)
pydantic_core._pydantic_core.ValidationError: 1 validation error for Agent
  Value error, 3 validation errors for CrewAgentExecutor
tools -> 0
  value is not a valid dict (type=type_error.dict)
__root__
  'RunnableAgent' object is not subscriptable (type=type_error)
__root__
  'RunnableAgent' object is not subscriptable (type=type_error) [type=value_error, input_value={'role': 'Project Manager...k': None, 'cache': True}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.6/v/value_error

I had this same issue and changed the source code to tools = agent["tools"] . But I still get errors after this change -- I am adding this here because is changing the code in agent.py causing the next issue?  I am trying to add tools to my Agent definition. The Agent Definition and the traceback are below.
from crewai_tools import WebsiteSearchTool
def source_researcher(self) -> Agent:
return Agent(config=self.agents_config['source_researcher'],
llm=self.groq_llm,tools=[WebsiteSearchTool]
)
Traceback :
Traceback (most recent call last):
File "/Users/jackmullen/jmautogpt/crew_research_1/main.py", line 17, in
run()
File "/Users/jackmullen/jmautogpt/crew_research_1/main.py", line 14, in run
t.crew().kickoff(inputs = inputs)
^^^^^^^^
File "/Users/jackmullen/jmautogpt/crew_research_1/.venv/lib/python3.11/site-packages/crewai/project/annotations.py", line 25, in wrapper
task_instance = possible_task()
^^^^^^^^^^^^^^^
File "/Users/jackmullen/jmautogpt/crew_research_1/crew.py", line 49, in source_researcher_task
agent=self.source_researcher()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jackmullen/jmautogpt/crew_research_1/crew.py", line 28, in source_researcher
return Agent(config=self.agents_config['source_researcher'],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jackmullen/jmautogpt/crew_research_1/.venv/lib/python3.11/site-packages/crewai/agent.py", line 131, in init
super().init(**config, **data)
File "/Users/jackmullen/jmautogpt/crew_research_1/.venv/lib/python3.11/site-packages/pydantic/main.py", line 176, in init
self.pydantic_validator.validate_python(data, self_instance=self)
pydantic_core._pydantic_core.ValidationError: 1 validation error for Agent
Value error, 3 validation errors for CrewAgentExecutor
tools -> 0
value is not a valid dict (type=type_error.dict)
root
'RunnableAgent' object is not subscriptable (type=type_error)
root
'RunnableAgent' object is not subscriptable (type=type_error) [type=value_error, input_value={'role': 'verify the sour...ol.WebsiteSearchTool'>]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.7/v/value_error

@windowshopr your crewAI version is out of date, add to the latest RC with with pip install crewai==0.30.0rc6 crewai-tools==0.2.3 --update

@theCyberTech Issue persists:
Successfully installed crewai-0.30.0rc6 crewai-tools-0.2.3

PS I:\nasty\Python_Projects\LLM\CrewAI\DevelopersOnlyTeam> python main.py
C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\langchain\_api\module_import.py:87: LangChainDeprecationWarning: Importing GuardrailsOutputParser from langchain.output_parsers is deprecated. Please replace the import with the following:
from langchain_community.output_parsers.rail_parser import GuardrailsOutputParser
  warnings.warn(
Inserting batches in chromadb:   0%|                                                                                | 0/1 [00:00<?, ?it/s]
Traceback (most recent call last):
  File "I:\nasty\Python_Projects\LLM\CrewAI\DevelopersOnlyTeam\main.py", line 65, in <module>
    project_manager = Agent(
                      ^^^^^^
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\crewai\agent.py", line 140, in __init__
    super().__init__(**config, **data)
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydantic\main.py", line 171, in __init__
    self.__pydantic_validator__.validate_python(data, self_instance=self)
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\crewai\agent.py", line 187, in set_agent_executor
    self.set_cache_handler(self.cache_handler)
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\crewai\agent.py", line 259, in set_cache_handler
    self.create_agent_executor()
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\crewai\agent.py", line 332, in create_agent_executor
    self.agent_executor = CrewAgentExecutor(
                          ^^^^^^^^^^^^^^^^^^
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\langchain_core\load\serializable.py", line 120, in __init__
    super().__init__(**kwargs)
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydantic\v1\main.py", line 339, in __init__
    values, fields_set, validation_error = validate_model(__pydantic_self__.__class__, data)
                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydantic\v1\main.py", line 1100, in validate_model
    values = validator(cls_, values)
             ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\langchain\agents\agent.py", line 980, in validate_tools
    tools = values["tools"]
            ~~~~~~^^^^^^^^^
KeyError: 'tools'

I wonder if the issue id in the way you are setting up the tools:
                           recursive=True,
                           show_progress=True),
           WebsiteSearchTool(website='https://www.google.ca/'),
           YoutubeVideoSearchTool(),
           ScrapeWebsiteTool(),
           ],```

 Can you try instantiating outside of the constructor like so

```from crewai_tools import WebsiteSearchTool
from crewai_tools import GithubSearchTool
from crewai_tools import YoutubeVideoSearchTool
from crewai_tools import ScrapeWebsiteTool
from crewai_tools import CodeDocsSearchTool
from crewai_tools import EXASearchTool

dir_loader = DirectoryLoader(path="./free_programming_books/project_manager",  recursive=True,  show_progress=True
website_search_tool = WebsiteSearchTool(website='https://www.google.ca/')
youtube_search_tool = YoutubeVideoSearchTool()
scrape_website_tool =  ScrapeWebsiteTool()

tools=[dir_loader, website_search_tool,  youtube_search_tool, scrape_website_tool],```

Same issue:
#...
# TOOLS
# Project Manager
proj_manager_dir_tool = DirectoryLoader(path="./free_programming_books/project_manager", recursive=True, show_progress=True)
proj_manager_website_tool = WebsiteSearchTool(website='https://www.google.ca/')
proj_manager_youtube_tool = YoutubeVideoSearchTool()
proj_manager_scrape_tool = ScrapeWebsiteTool()
# proj_manager_github_tool = GithubSearchTool()
# proj_manager_codedocs_tool = CodeDocsSearchTool(docs_url='https://docs.github.com/en')

# AGENTS
project_manager = Agent(
    role='Project Manager',
    goal='Works directly with the Client and delegates tasks to the team/reports back to the Client',
    backstory="""I am an experienced Project Manager in the software development space with a proven track record of successfully delivering projects.
                 I excel at creating and maintaining detailed project plans, coordinating team activities, and communicating effectively with stakeholders.
                 I work closely with the client to understand their requirements, and then delegate tasks to the appropriate team members.
                 I report updates back to the client and ask for instructions, feedback and approval as needed by the team and client.
                 I am able to reference all kinds of materials such as books/PDFs, websites, Github repos, videos and search engine results to get the information I need to make informed decisions.
                 My focus is on ensuring the project meets the client's requirements and is delivered to the highest standard of quality.""",
    tools=[proj_manager_dir_tool, proj_manager_website_tool, proj_manager_youtube_tool, proj_manager_scrape_tool],
    llm=llm,
    function_calling_llm=None,
    max_iter=15,  # Optional, default is 25
    max_rpm=None, # Optional
    verbose=True,  # Optional
    allow_delegation=True,  # Optional
    step_callback=None,  # Optional
    cache=True,  # Optional
)

#...

Traceback (most recent call last):
  File "I:\nasty\Python_Projects\LLM\CrewAI\DevelopersOnlyTeam\main.py", line 75, in <module>
    project_manager = Agent(
                      ^^^^^^
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\crewai\agent.py", line 140, in __init__
    super().__init__(**config, **data)
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydantic\main.py", line 171, in __init__
    self.__pydantic_validator__.validate_python(data, self_instance=self)
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\crewai\agent.py", line 187, in set_agent_executor
    self.set_cache_handler(self.cache_handler)
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\crewai\agent.py", line 259, in set_cache_handler
    self.create_agent_executor()
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\crewai\agent.py", line 332, in create_agent_executor
    self.agent_executor = CrewAgentExecutor(
                          ^^^^^^^^^^^^^^^^^^
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\langchain_core\load\serializable.py", line 120, in __init__
    super().__init__(**kwargs)
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydantic\v1\main.py", line 339, in __init__
    values, fields_set, validation_error = validate_model(__pydantic_self__.__class__, data)
                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydantic\v1\main.py", line 1100, in validate_model
    values = validator(cls_, values)
             ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\langchain\agents\agent.py", line 980, in validate_tools
    tools = values["tools"]
            ~~~~~~^^^^^^^^^
KeyError: 'tools'

Same issue here

@windowshopr your crewAI version is out of date, add to the latest RC with with pip install crewai==0.30.0rc6 crewai-tools==0.2.3 --update

Thanks for the help but no luck, updated the two packages and got a similar error :
Traceback (most recent call last):
File "", line 1, in
File "/Users/jackmullen/jmautogpt/crew_research_1/main.py", line 14, in run
t.crew().kickoff(inputs = inputs)
^^^^^^^^
File "/Users/jackmullen/jmautogpt/crew_research_1/.venv/lib/python3.11/site-packages/crewai/project/annotations.py", line 39, in wrapper
task_instance = possible_task()
^^^^^^^^^^^^^^^
File "/Users/jackmullen/jmautogpt/crew_research_1/.venv/lib/python3.11/site-packages/crewai/project/annotations.py", line 10, in memoized_func
cache[key] = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/jackmullen/jmautogpt/crew_research_1/crew.py", line 49, in source_researcher_task
agent=self.source_researcher()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jackmullen/jmautogpt/crew_research_1/.venv/lib/python3.11/site-packages/crewai/project/annotations.py", line 10, in memoized_func
cache[key] = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/jackmullen/jmautogpt/crew_research_1/crew.py", line 28, in source_researcher
return Agent(config=self.agents_config['source_researcher'],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jackmullen/jmautogpt/crew_research_1/.venv/lib/python3.11/site-packages/crewai/agent.py", line 140, in init
super().init(**config, **data)
File "/Users/jackmullen/jmautogpt/crew_research_1/.venv/lib/python3.11/site-packages/pydantic/main.py", line 176, in init
self.pydantic_validator.validate_python(data, self_instance=self)
pydantic_core._pydantic_core.ValidationError: 1 validation error for Agent
Value error, 3 validation errors for CrewAgentExecutor
tools -> 0
value is not a valid dict (type=type_error.dict)
root
'RunnableAgent' object is not subscriptable (type=type_error)
root
'RunnableAgent' object is not subscriptable (type=type_error) [type=value_error, input_value={'role': 'verify the sour...ol.WebsiteSearchTool'>]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.7/v/value_error

Try updating langchain and/or langchain-community to resolve RunnableAgent error
Pip Commands
pip install langchain
pip install langchain-community

As of today:
pip install langchain==0.1.17
pip install langchain-community==0.0.37

Poetry Commands
poetry add langchain
poetry add langchain-community

As of today:
poetry add langchain==0.1.17
poetry add langchain-community==0.0.37

The same issue persists. It's a logic issue not a dependency issue.

Steps to continue debugging:
langchain > agents > agent.py
    @root_validator()
    def validate_tools(cls, values: Dict) -> Dict:
        """Validate that tools are compatible with agent."""
        agent = values["agent"]
        # tools = values["tools"]
        tools = agent["tools"] ############ Here
        allowed_tools = agent.get_allowed_tools()
        if allowed_tools is not None:
            if set(allowed_tools) != set([tool.name for tool in tools]):
                raise ValueError(
                    f"Allowed tools ({allowed_tools}) different than "
                    f"provided tools ({[tool.name for tool in tools]})"
                )
        return values

    @root_validator()
    def validate_return_direct_tool(cls, values: Dict) -> Dict:
        """Validate that tools are compatible with agent."""
        agent = values["agent"]
        # tools = values["tools"]
        tools = agent["tools"] ############ Here
        if isinstance(agent, BaseMultiActionAgent):
            for tool in tools:
                if tool.return_direct:
                    raise ValueError(
                        "Tools that have `return_direct=True` are not allowed "
                        "in multi-action agents"
                    )
        return values

CrewAI application code (slim down the agent)
project_manager = Agent(
    role='Project Manager',
    goal='Works directly with the Client and delegates tasks to the team/reports back to the Client',
    backstory=dedent(f"""I am an experienced Project Manager in the software development space with a proven track record of successfully delivering projects.
                 I excel at creating and maintaining detailed project plans, coordinating team activities, and communicating effectively with stakeholders.
                 I work closely with the client to understand their requirements, and then delegate tasks to the appropriate team members.
                 I report updates back to the client and ask for instructions, feedback and approval as needed by the team and client.
                 I am able to reference all kinds of materials such as books/PDFs, websites, Github repos, videos and search engine results to get the information I need to make informed decisions.
                 My focus is on ensuring the project meets the client's requirements and is delivered to the highest standard of quality."""),
    # tools=[proj_manager_dir_tool, proj_manager_website_tool, proj_manager_youtube_tool, proj_manager_scrape_tool],
    # llm=llm,
    # function_calling_llm=None,
    # max_iter=15,  # Optional, default is 25
    # max_rpm=None, # Optional
    # verbose=True,  # Optional
    # allow_delegation=True,  # Optional
    # step_callback=None,  # Optional
    # cache=True,  # Optional
)

pydantic > main.py
    def __init__(self, /, **data: Any) -> None:  # type: ignore
        """Create a new model by parsing and validating input data from keyword arguments.

        Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be
        validated to form a valid model.

        `self` is explicitly positional-only to allow `self` as a field name.
        """
        # `__tracebackhide__` tells pytest and some other tools to omit this function from tracebacks
        __tracebackhide__ = True
        print("Data: ", data) ############### Here, want to see what "data" is...
        self.__pydantic_validator__.validate_python(data, self_instance=self)

Current traceback:
LangChainDeprecationWarning: Importing GuardrailsOutputParser from langchain.output_parsers is deprecated. Please replace the import with the following:
from langchain_community.output_parsers.rail_parser import GuardrailsOutputParser
  warnings.warn(
Data:  {}
Data:  {}
Data:  {}
Data:  {}
Data:  {}
Data:  {}
Data:  {}
Data:  {}
Data:  {'name': 'embedchain_store', 'metadata': None, 'id': UUID('702e7158-afbd-4407-91a0-1e433de5a72d'), 'tenant': 'default_tenant', 'database': 'default_database'}
Data:  {'name': 'embedchain_store', 'metadata': None, 'id': UUID('702e7158-afbd-4407-91a0-1e433de5a72d'), 'tenant': 'default_tenant', 'database': 'default_database'}
Data:  {'embedchain_app': <embedchain.app.App object at 0x0000027F455EB7D0>, 'summarize': False}
Inserting batches in chromadb:   0%|                                                                                | 0/1 [00:00<?, ?it/s]
Data:  {}
Data:  {}
Data:  {'name': 'embedchain_store', 'metadata': None, 'id': UUID('702e7158-afbd-4407-91a0-1e433de5a72d'), 'tenant': 'default_tenant', 'database': 'default_database'}
Data:  {'name': 'embedchain_store', 'metadata': None, 'id': UUID('702e7158-afbd-4407-91a0-1e433de5a72d'), 'tenant': 'default_tenant', 'database': 'default_database'}
Data:  {'embedchain_app': <embedchain.app.App object at 0x0000027F46EFB810>, 'summarize': False}
Data:  {}
Data:  {'role': 'Project Manager', 'goal': 'Works directly with the Client and delegates tasks to the team/reports back to the Client', 'backstory': "I am an experienced Project Manager in the software development space with a proven track record of successfully delivering projects. \n
             I excel at creating and maintaining detailed project plans, coordinating team activities, and communicating effectively with stakeholders.\n                 I work closely with the client to understand their requirements, and then delegate tasks to the appropriate team members.\n                 I report updates back to the client and ask for instructions, feedback and approval as needed by the team and client.\n
           I am able to reference all kinds of materials such as books/PDFs, websites, Github repos, videos and search engine results to get the
information I need to make informed decisions.\n                 My focus is on ensuring the project meets the client's requirements and is delivered to the highest standard of quality."}
Data:  {'i18n': I18N(prompt_file=None), 'tools': [], 'system_template': None, 'prompt_template': None, 'response_template': None}
Traceback (most recent call last):
  File "I:\nasty\Python_Projects\LLM\CrewAI\DevelopersOnlyTeam\main.py", line 76, in <module>
    project_manager = Agent(
                      ^^^^^^
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\crewai\agent.py", line 140, in __init__
    super().__init__(**config, **data)
  File "C:\Users\chalu\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydantic\main.py", line 177, in __init__
    self.__pydantic_validator__.validate_python(data, self_instance=self)
pydantic_core._pydantic_core.ValidationError: 1 validation error for Agent
  Value error, 2 validation errors for CrewAgentExecutor
__root__
  'RunnableAgent' object is not subscriptable (type=type_error)
__root__
  'RunnableAgent' object is not subscriptable (type=type_error) [type=value_error, input_value={'role': 'Project Manager...t standard of quality."}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.7/v/value_error

Disregard my last, I've discovered that it's an issue with the tools parameter of the Agent class. When I comment out the list of tools in the Agent, the code works as is, so the issue is here:
# AGENTS
project_manager = Agent(
    role='Project Manager',
    goal='Works directly with the Client and delegates tasks to the team/reports back to the Client',
    backstory=dedent(f"""I am an experienced Project Manager in the software development space with a proven track record of successfully delivering projects.
                 I excel at creating and maintaining detailed project plans, coordinating team activities, and communicating effectively with stakeholders.
                 I work closely with the client to understand their requirements, and then delegate tasks to the appropriate team members.
                 I report updates back to the client and ask for instructions, feedback and approval as needed by the team and client.
                 I am able to reference all kinds of materials such as books/PDFs, websites, Github repos, videos and search engine results to get the information I need to make informed decisions.
                 My focus is on ensuring the project meets the client's requirements and is delivered to the highest standard of quality."""),
    # tools=[proj_manager_dir_tool, proj_manager_website_tool, proj_manager_youtube_tool, proj_manager_scrape_tool], # TAKE THIS OUT AND IT WORKS....
    llm=llm,
    function_calling_llm=None,
    max_iter=15,  # Optional, default is 25
    max_rpm=None, # Optional
    verbose=True,  # Optional
    allow_delegation=True,  # Optional
    step_callback=None,  # Optional
    cache=True,  # Optional
)

Run the code with one tool at a time to identify if any specific tool is causing the issue.
# Add Tools Incrementally
project_manager.tools = [proj_manager_dir_tool]

# Test with a single tool
# Comment this part and test with the next tool to identify the problematic one
project_manager.tools.append(proj_manager_website_tool)
project_manager.tools.append(proj_manager_youtube_tool)
project_manager.tools.append(proj_manager_scrape_tool)

# Proceed with the rest of your setup

Thank you! While your suggestion did not work exactly as expected, what I discovered was to NOT assign the list of tools during the class definition, but to only append each tools after the class object was created. Like so:
# AGENTS
project_manager = Agent(
    role='Project Manager',
    goal='Works directly with the Client and delegates tasks to the team/reports back to the Client',
    backstory=dedent(f"""I am an experienced Project Manager in the software development space with a proven track record of successfully delivering projects.
                 I excel at creating and maintaining detailed project plans, coordinating team activities, and communicating effectively with stakeholders.
                 I work closely with the client to understand their requirements, and then delegate tasks to the appropriate team members.
                 I report updates back to the client and ask for instructions, feedback and approval as needed by the team and client.
                 I am able to reference all kinds of materials such as books/PDFs, websites, Github repos, videos and search engine results to get the information I need to make informed decisions.
                 My focus is on ensuring the project meets the client's requirements and is delivered to the highest standard of quality."""),
    # tools=[proj_manager_dir_tool,  ###### TAKE THEM OUT OF HERE, ADD AFTER CLASS IS DEFINED
        #    proj_manager_website_tool,
        #    proj_manager_youtube_tool,
        #    proj_manager_scrape_tool,
        #    ],
    llm=llm,
    function_calling_llm=None,
    max_iter=15,  # Optional, default is 25
    max_rpm=None, # Optional
    verbose=True,  # Optional
    allow_delegation=True,  # Optional
    step_callback=None,  # Optional
    cache=True,  # Optional
)
project_manager.tools.append(proj_manager_dir_tool)
project_manager.tools.append(proj_manager_website_tool)
project_manager.tools.append(proj_manager_youtube_tool)
project_manager.tools.append(proj_manager_scrape_tool)

Actually I spoke too soon. Doing that only delayed the same error until the crew.kickoff() call. It's still saying key error 'tools'. When I take out ALL tools from the script, the code runs fine, so I think there's an issue linking crewai and langchain by their tools. Will require more investigating.

@windowshopr I'm getting the same KeyError for projects where I have separate main, agents, tasks, and tools modules/files, but finally got it to work in having it all in main.
I have the same error ending in:
tools = values["tools"]
KeyError: 'tools'
But when using a single main.py file, this is what has worked, for example for a search tool....
Include "tool" on your imports:
from crewai_tools import SerperDevTool, tool
from langchain.tools import tool
Create an instance for your tool before Agents, Tasks, etc...
search_tools = SerperDevTool()
Use the @tool decorator followed by the tool method:
@tool('search_tools')
def search(query: str, num_results = 5):
"""Search the web for information on a given topic"""
response = SerperDevTool().run(query, num_results=num_results)
return response
Then call within each agent:
tools = [search_tools]
....
I'm still trying to debug this KeyError in the case with multiple modules/files.

Thanks, but that didn't work for me on my side. I'm running everything out of one file too, I tried your steps like the following, same error:
# TOOLS
# Create an instance for your tool before Agents, Tasks, etc...
project_manager_docs = DirectoryLoader(path="./free_programming_books/project_manager", recursive=True, show_progress=True)

# Use the @tool decorator followed by the tool method:
@tool('project_manager_docs_tool')
def search(query, num_results=5): # Parameters not used
    """Search for project management documentation."""
    response = DirectoryLoader(path="./free_programming_books/project_manager", recursive=True, show_progress=True).load() # load instead of run for directory loader
    return response

# AGENTS
project_manager = Agent(
    role='Project Manager',
    goal='Works directly with the Client and delegates tasks to the team/reports back to the Client',
    backstory=dedent(f"""I am an experienced Project Manager in the software development space with a proven track record of successfully delivering projects.
                 I excel at creating and maintaining detailed project plans, coordinating team activities, and communicating effectively with stakeholders.
                 I work closely with the client to understand their requirements, and then delegate tasks to the appropriate team members.
                 I report updates back to the client and ask for instructions, feedback and approval as needed by the team and client.
                 I am able to reference all kinds of materials such as books/PDFs, websites, Github repos, videos and search engine results to get the information I need to make informed decisions.
                 My focus is on ensuring the project meets the client's requirements and is delivered to the highest standard of quality."""),
    tools=[project_manager_docs],
    llm=llm,
    max_iter=15,
    verbose=True,
    allow_delegation=True,
    cache=True,
)

#....

It seems clunky that you have to instantiate the tool first, just to redefine it in a tool wrapper later, but I am happy that it works for you! Will need to figure it out on my side. Hopefully someone finds a solution in a similar environment to mine posted in OP. Thanks!

@windowshopr I finally debugged the KeyError in the multi-module format.
I added a "tools" method in my search_tools.py module, and this method calls the SearchTools.search method with the @tool decorator.
    def tools():
        return [SearchTools.search]

    @tool
    def search(query: str, num_results = 5):
        """Search the web for information on a given topic"""
        response = SerperDevTool().run(query, num_results=num_results)
        return response

In the agents.py module I updated tools to point to SearchTools.tools() method.
 tools = SearchTools.tools(),
I'm still working through other issues, but it avoids the KeyError.
I'm now getting this message in the terminal while the program is running:
" It seems we encountered an unexpected error while trying to use the tool."

@windowshopr After trying a bunch of different methods, this is what finally worked for me in a multi-module setup.
In the search_tools.py module I used a variation of what I showed before. This time I'm instantiating the SerperDevTool within the tools method.

class SearchTools:

    os.environ["SERPER_API_KEY"] = config("SERPER_API_KEY")

    def tools():
        search_tools = SerperDevTool()
        return [search_tools]

    @tool('search_tools')
    def search(query, num_results = 5):
        """Search the web for information on a given topic"""
        response = SerperDevTool.run(query=query, num_results=num_results)
        return response

Interestingly, this seems to mirror the solution in the single-file version (when using main.py only). It seems clunky to first instantiate, but that 's what seems to work with the @tool decorator.

try this perhaps. it worked for me.
tools=to_langchain([
            project_manager_docs
        ])

@windowshopr I've been working through a few KeyError issues on other tools, and in looking back at your posts, take a look over your method naming and instance naming, making sure they are consistent .
Here's an abbreviated version...
Use the tool decorator and set up tool method
@tool('tool_name')
def method_name(argument_name_if_needed):
"""Description of the tool"""
response = your function goes here
return response
Create an instance
tool_name_instance = method_name
agent_name = Agent(
tools = [tool_name_instance]
)

I've noticed that KeyError: 'tools' was popping out when I include run() method to the tool.
Sample tool code :
my_query = "Some query which needs to be looked up in PDF file"
pdf_rag_search = PDFSearchTool().run(query=my_query)  #####   Invokes KeyError:'tools'
pdf_rag_search = PDFSearchTool()     ##### runs normally
Sample task code:
some_task = Task(
description=("some text"),
expected_output=("some text"),
tools=[pdf_rag_search],
agent=sample_agent
)
When I execute the crew.kickoff() with necessary inputs, I have encountered "KeyError: 'tools'" and when I've removed the run method from the tool error disappears.

I've noticed that KeyError: 'tools' was popping out when I include run() method to the tool.
Sample tool code : my_query = "Some query which needs to be looked up in PDF file" pdf_rag_search = PDFSearchTool().run(query=my_query) ##### Invokes KeyError:'tools' pdf_rag_search = PDFSearchTool() ##### runs normally
Sample task code: some_task = Task( description=("some text"), expected_output=("some text"), tools=[pdf_rag_search], agent=sample_agent )
When I execute the crew.kickoff() with necessary inputs, I have encountered "KeyError: 'tools'" and when I've removed the run method from the tool error disappears.

How do you add the pdf file path here?

tool = PDFSearchTool(pdf='path/to/your/document.pdf')

PDFSearchTool

Do you have any gents or tasks that have no tools set like this:
tools = []

y removing that line

I am not using tools in task but using in agents.
Example for agent:
Please correct the code:
topic_extractor = Agent(
role='Topic Extractor',
goal='Extract the topic from the pdf',
backstory="""You are an expert Topic Extractor, skilled in identifying and isolating key subjects from extensive documents.
Your ability to discern relevant topics from a myriad of information helps in creating focused and meaningful content.""",
verbose=True,
allow_delegation=True,
tools=[pdf_search_tool]
)

Do your other agents have this configured:
tools = []

No, remove it if you are not using tools on an agent

I have the same error where I'm trying to define a custom tool - https://github.com/joaomdmoura/crewAI/issues/815

I had class based tools implemented, I was able to solve this issue by passing the instance of my tool instead of the class:
agents.py
class Agents():
	def translator_agent(self):
		return Agent(
			role='Senior Translator',
			goal='Analyze the text and translate it into the target language.',
			tools=[LanguageValidator()],  # This has to be an instance, like this.
			backstory='You are an expert in translating text from one language to another, ensuring accuracy and fluency in the target language.',
			verbose=True
		)

here are my tools: tool.py:
from crewai_tools import BaseTool

class LanguageValidator(BaseTool):
    name: str = "Supported Language Validator"
    description: str = "Used to validate if the language is supported or not."

    def _run(self, language: str) -> str:
        # Implementation goes here
        print("language", language)
        if language == "English" or language == "Urdu":
            return True
        else:
            return False

just for reference, these are my tasks: tasks.py:
from textwrap import dedent
from crewai import Task

class Tasks():
    def translate_user_sentence(self, agent, sentence, target_language):
        return Task(
            description=dedent(f"""Analyze the text: {sentence} and translate it into the target language: {target_language}."""),
            expected_output=dedent(f"""A translated version of the given text: {sentence} in the prefered language: {target_language}."""),
            agent=agent
        )

    def review_translated_sentence(self, agent, sentence, target_language):
        return Task(
            description=dedent(f"""Review the translated version of given sentence: {sentence}\n the target language was: {target_language}, make sure its correct."""),
            expected_output=dedent(f"""A pixel perfect and proof-read translated version of the given text: {sentence} in the prefered language: {target_language}, with no mistakes."""),
            agent=agent
        )

These are my main packages and versions:
crewai==0.35.0
crewai-tools==0.4.0
cryptography==42.0.8
huggingface-hub==0.23.4
langchain==0.1.20
langchain-cohere==0.1.5
langchain-community==0.0.38
langchain-core==0.1.52
langchain-openai==0.1.7
langchain-text-splitters==0.0.2
langsmith==0.1.82
numpy==1.26.4
oauthlib==3.2.2
onnxruntime==1.18.1
openai==1.35.7
opentelemetry-api==1.25.0
tiktoken==0.7.0
tokenizers==0.19.1

I am using Python 3.10.


Calculator not using "." and "," the right way

Description of the new feature / enhancement
Hi,
So I am using powertoys Run for a few days now. Overall, I like it, but the calculator has this problem where . and , are not the same. I read at https://github.com/microsoft/PowerToys/issues/13562 that this was actually a feature request. Unfortunately I failed a test because of this difference!
My numpad has a . and I use that most of the time, but sometimes for simple calculations I use the comma too. I didn't know there was any difference. In my country the comma is there to split decimals. I would like to have a button in the settings where I can change this. I would like the dot and comma to do the same tihing.
Scenario when this would be used?
This could be used for fast calculations where you don't have to think about the Engish or European annotation.
Supporting information
No response

/dup #25285


start.android not working

I installed the project and have added two components to the nativescript folder and app.module in the same folder but now when I try to do npm run start.android I get this error
/home/cara/Documents/proj/nativescript/app/app.android.scss SASS CSS pre-processing failed. Error: Error: File to import not found or unreadable: nativescript-theme-core/theme-core-scss/variables Parent style sheet: /home/cara/Documents/proj/nativescript/app/scss/_variables.scss
I ran ngxp-install before trying to do start.android and looking in the nativescript node_modules folder I can see the modules are there so I'm not sure why its not finding them.

I tried cloning a new version of the project and running ngxp-install and then start.android and got the same error

Fixed the issue by removing the ^ and locking nativescript-theme-core at 0.2.1
"nativescript-theme-core": "0.2.1"

@caraclarke Once this PR https://github.com/shripalsoni04/nativescript-angular-web-starter/pull/2 is merged, nativescript-theme-core 0.2.2 as well as future updates to the core theme will work properly. We recently simplified the import paths for the theme 👍


Allow customizing DocService when using Spring Boot integration

I don't remember exactly where, but someone asked if it's possible to add an example via DocServiceBuilder when using Spring Boot integration.
It is currently not possible because ArmeriaAutoConfiguration currently builds a DocService by itself without exposing any customization point.
We could allow a user to inject a Consumer or Supplier of DocServiceBuilder so that the user can customize the DocService built by ArmeriaAutoConfiguration, and thus it's not necessary to to use registration beans.
Adding good-first-issue label since it should be fairly easy for anyone who's familiar with Spring's dependency injection mechanism.

If there is no working person, I want to work.

Fixed via #2327 by @Charliocat. Thanks again for reporting the problem.


Update Meta.yaml to publish 0.2.4

#TODO: ##    - python >= 3.7 # v.0.3.0
#TODO: ##    - flit-core >=3.4,<4 # v.0.3.0
Set  click >=7.1,<9

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

choldgraf this should publish out v0.2.4 which was skipped onto conda-forge


Dataset display using MYSQL datasource

Hi, though this plugin was not tested in MYSQL, i went ahead, installed and used it in my grafana. It works great except that the different datasets/queries/legend is displayed as A,B,C. I am not sure how I can pass or alias this information

Can anyone help with this? I am still seeing this. I am willing to hardcode the labels, but not sure where to make the changes. Please Help!

thank you so much for responding. Actually thats the difference - this plugin has not been tested or designed for MYSQL, hence the metric section has no option for giving an alias. Even if I pass the table to displayed as  it does not change anything

@nsayedqt  Added a series Alias in the panel options that does the trick.

Absolutely awesome - works like a breeze. Thank you so much.
On a side note (Sorry if I sound greedy :) ) :
Does the plugin offer choice to select the legend colors for other data sources? for MYSQL, there is none.

I think you are right, you can change the grid or the series colors but not the legend color. I think that it was not that easy to reach the legend from the chart.js object. Will try to give it another look when I have time to lose.
Cheers,

Hello,
I'm using the plugin in PostgreSQL, and I am unable to change the legend's text. It always shows A, B, C, etc.
It is possible to define the legend's text in grafana using PostgreSQL as Data Source?
If this is possible, how can I do it?
I've attached the query I do and the radar panel created with that query.
Thanks in advance!

@davolm
Should be possible using the latest version of the panel using the series alias field as shown in the screenshot.

@snuids,
First of all, thank you for your quick response.
I've installed the last version of your plugin (1.4.1), but I still don't see the "series field" in the options tab.
(I've attached a screenshot)
(I'm using Grafana version 5.3.2)
Thanks again, and sorry for the inconvenience.

The latest version is 1.4.2.
The package 1.4.2 should be available from the grafana application itself but it looks like they did not update their package.
You can install it from my github or ask grafana guys to update their reference on their website.
Cheers,

In fact that's my fault, I forgot to update my version number. It should be OK in grafana in a few hours.

They will have to update my plugin in their repo. If nothing moves, drop a line in the Grafana newsgroup.

I've directly downloaded your plugin from here.
Now, It's working perfectly.
You are awesome.
Thank you so much!!

Another question:
Is it possible to use a query or a variable to define the legend?
It seems very difficult to do, so please don't worry if it's not possible.
I really appreciate your work and your help.
Thanks a lot again!


vcpkg: 2024.05.24 -> 2024.06.15

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/vcpkg/versions.
meta.description for vcpkg is: C++ Library Manager
meta.homepage for vcpkg is: https://vcpkg.io/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2024.06.15 in filename of file in /nix/store/v778d2d0pb9lywahwklaqqxhhwv3i21g-vcpkg-2024.06.15

Rebuild report (if merged into master) (click to expand)

8 total rebuild path(s)

8 package rebuild(s)

First fifty rebuilds by attrpath

_2ship2harkinian
cemu
imgui
imnodes
implot
sony-headphones-client
vcpkg

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/v778d2d0pb9lywahwklaqqxhhwv3i21g-vcpkg-2024.06.15 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A vcpkg https://github.com/r-ryantm/nixpkgs/archive/371f996c74706e81a3a28ef6c823a5d519467e70.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/371f996c74706e81a3a28ef6c823a5d519467e70#vcpkg

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/v778d2d0pb9lywahwklaqqxhhwv3i21g-vcpkg-2024.06.15
ls -la /nix/store/v778d2d0pb9lywahwklaqqxhhwv3i21g-vcpkg-2024.06.15/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

8 packages failed to build:

_2ship2harkinian
cemu
imgui
imgui.lib
imnodes
imnodes.dev
implot
sony-headphones-client

1 package built:

vcpkg

Maintainer pings
cc @Guekka @gracicot for testing.

I'm gonna test it on Wednesday, thanks.

Vcpkg seems to work properly. I'm more concern about imgui not building. Since you added vcpkg in imgui's build, can you take a look at that @SomeoneSerge ?

@ofborg build imgui implot imnodes


example with call_command

I'm trying to write a script but I don't get how to provide the parameters...
management.call_command("mediabackup", compress=True, clean=True) doesn't seem to take arguments into account. And I don't understand how to use the -o and -O options since there is no -- version.
management.call_command("mediabackup", '--clean') throw exception TypeError('expected string or buffer',)
Please add usage examples.

Hello @vadorequest,
There are few examples in tests
Feel free to make a documentation PR

Thanks @ZuluPro, I had a look at the https://github.com/django-dbbackup/django-dbbackup/blob/master/tests/runtests.py#L59 test file, but I still don't quite get it. There is no example using call_command but execute_from_command_line instead.
To my understanding, using clean=True should delete other previous backups, but it does not in my example.

Hey @Vadorequest
Look at here:
https://github.com/django-dbbackup/django-dbbackup/blob/master/dbbackup/tests/functional/test_commands.py

@Vadorequest, I'm closing this, feel free to ping me again if this isn't resolved.


Consider exposing WebUSB functionality in extensions

I'd be interested to understand whether there is appetite to add control of enabling WebUSB access in web extensions and webviews:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Feature-Policy/usb
With VSCode going online through projects such as codespaces, there are strong use cases for accessing broader Web APIs and in this case, the ability to interact with devices attached to the user's machine.
This could enable scenarios such as debugging of connected devices, which is already possible in the desktop version of VSCode.
I'd be happy to implement the feature, but would be keen to understand whether it would be accepted.

We'd consider this policies on a case by case basis

We'd consider this policies on a case by case basis

Thanks, I've reworded the title and description of this request to focus on interest in exposing WebUSB in webviews.

Have you tested to see if this would work on the web? Webview contents are run inside iframes from a different origin than the main editor page. Even if we enable the policy on the iframe itself, I don't know that webUSB would work

Have you tested to see if this would work on the web? ...You can try this using a local build of VS Code

Many thanks for the pointers. I have tested this change locally as you describe and can confirm that updating the allow permissions as follows:
element.setAttribute('allow', 'clipboard-read; clipboard-write; usb;');

Successfully enables webviews to invoke WebUSB features:

I assume the feature to be implemented would be to control this setting from the webviewView.webview.options object?

Perhaps WebHID and WebSerial should also be considered?

Yes please. WebHID, WebSerial would be excellent additions.
These are the final pieces of the puzzle to open up embedded development to the masses.

It seems you can achieve it via web extensions, see gitpod-io/gitpod#5814 (comment)

https://github.com/gitpod-io/gitpod/issues/5814#issuecomment-938401052

#151795 introduces an experimental command that you can use on web to request USB access. This lets your extension code use the webUSB apis directly:
Here's how it works:

To get permissions to access a usb device ( this is usb.requestDevice()) your extension must call this command instead of trying to call navigator.usb.requestDevice directly
This is needed because your extension is running in a worker thread which cannot request permissions itself

After the user selects some devices and finished the permissions flow, your extension code can then call navigator.usb.getDevices to access the selected devices

This command is only enabled on web and only works in Chrome/Edge. Please give it a try and let us know if you have any feedback

The new command relies on Chrome's permission delegation feature. While implementing it, I also realized that permission delegation makes enabling webUSB inside of our webviews too risky without a lot more thought.
The root problem is that once one iframe (webview) on a page request usb access, all the other usb enable iframes embedded into that page can also access that device without showing any prompts. It also means that if our top level page gets access to a usb device, all usb enabled iframes on the page can then also access that device. Instead we want all webviews to have to request permissions individually and then only be able to access their own pool of devices
I've opened a chromium issue about this behavior

Great news we have some progress on this!
I'll try it when I find some spare cycles, but have some initial questions:

I assume further updates to this would include the ability to specify the filters so the developer can restrict devices being requested to those of interest?
Using this model, how can a developer know which device the user selected? In a scenario where multiple devices are connected, it's common to select or highlight the one just requested

Both of my concerns have been addressed in https://github.com/microsoft/vscode/pull/152257 👍

Experimental support has now been added, I believe this issue can be closed.

The Web-* interfaces are only enabled in the extensionHost web worker, so I wouldn't expect the navigator access to work directly in webviews.
You should be able to access devices in the normal extension code, I'll try to find some time to create a demo.

BTW @connor4312 how are you testing on insiders.vscode.dev? it seems the recommended approach is not currently possible due to the localtunnel server being unavailable.

Please see this repo for a demo web extension which can request device authorisation through a webview and also list authorised devices:
https://github.com/thegecko/webusb-web-extension

The only reason localtunnel.me was used was to provide the extension over https, which I do locally with the serve CLI and a self-signed cert I made with mkcert.


Educational pages about the race

It would be nice to have a persistent race description about races available with every event in the calendar and also independently discoverable through NCNCA website.
Inspiration http://kevinmetcalfe.dreamhosters.com/pescadero-road-race/ (and a lot of races there)

So far we are doing it with CMS, example of the page https://norcal.bike.events/races/test


running after installing crashes

I'm running node version 5.11.1 on Debian, after installing your package successfully and running it, I get the following error:
/usr/lib/node_modules/npr-one/node_modules/npr-api/lib/helpers.js:51
  return (...args) => {
          ^^^

SyntaxError: Unexpected token ...
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:387:25)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/usr/lib/node_modules/npr-one/node_modules/npr-api/lib/one.js:4:17)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)

sorry, there should have been a note in the readme about this. it requires node 6.x due to the use of es6 features like the spread operator ...args.
fixed with 96d1e7fbf98c0c217e67da87284a1730c56551e0

@bnvk i forgot to mention, the easiest way to get 6.x installed for you is probably something like
$ sudo npm install -g n && sudo n stable


Show documentation link if lint error links to documentation

Related to https://github.com/camunda/camunda-modeler/issues/3609.

UX isn't great using the standard IBM Carbon icon at this size in combination with the subtle color change on hover. @YanaSegal What do you think? Any ideas?
https://github.com/camunda/camunda-modeler/assets/7633572/31d25977-2cfe-4322-9c76-0c85737a070f

UX isn't great using the standard IBM Carbon icon at this size in combination with the subtle color change on hover.

I suggest using the default link icon (cf. https://github.com/camunda/camunda-modeler/pull/3713#pullrequestreview-1518402908). Makes for good enough UX.

@nikku @philippfromme I think we discussed showing the link icon when a user hovers over the line. for the link behavior - it depends what component you use - a link or as an icon button?

I think we discussed showing the link icon when a user hovers over the line.

That sounds reasonable to me. It should be a link to not draw too much focus. Cf. also same pattern used in create/append menu:

It is not. It is core modeling, bpmn.io. A better version of the Carbon icon :wink:

The general concept is outlined here: https://miro.com/app/board/uXjVM5TE4Fg=/

I was just wondering if a simple documentationRef (we got it in element templates) would be sufficient. But I can get behind the idea of attaching potentially more things under documentation.


Switching the current PDF

So I have been trying to work with getting PDF files to change when selecting a button from the bottom navigation bar. I am able to see that the path for the pdf is getting changed and the other information for the pdf file is getting changed as well but the actual view from the plugin is not being updated. This I feel is an issue in the library that needs to be looked at. I have posted to StackOverflow about the issue and they believe that it could be an issue with the plugin. Here is the question that I posted: https://stackoverflow.com/questions/58968253/flutter-issue-with-updating-ui-on-setstate?noredirect=1#comment104210699_58968253
The code that I have posted in the question, if you replace the PdfViewer for a Text file that shows say the new index it will update the index as it is suppose to be doing.

I'm having the same issue, anyone found a workaround ?

I'm facing the same issue

I worked around this issue with this.  Basically, when your path changes, you need to remove the PDF viewer from the screen and then put it back with the new path.  I'm using a timer for this, which obviously isn't ideal.  Let me know if someone has a better work around!
Widget displayPdf() {
    if (refreshPdfPath == false) {
      return PdfViewer(filePath: knownGoodPdfPath);
    } else {
      refreshPdfTimer = new Timer.periodic(
        Duration(seconds: 1),
        (Timer timer) {
          if (mounted) {
            setState(
              () {
                refreshPdfPath = false;
              },
            );
          }
        },
      );
      return Center(child: Text('Refreshing...'));
    }
  }


Add sysadmins recipe test in .kitchen.yml

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
GitHub Users Who Are Not Authorized To Contribute
The following GitHub users do not appear to have signed a CLA:

@FlorentFlament

Please sign the CLA here.

Hi. Your friendly Curry bot here. Just letting you know that all commit authors have become authorized to contribute. I have added the "Signed CLA" label to this issue so it can easily be found in the future.

Thanks.  I'll get this into the docker kitchen file as well


New Placeholder

Current placeholder does not fit the current pet cards
Make a new version with the new color and a dark mode version (once dark mode is implemented)

I would like this assigned!


ci: test rust 1.66.1 which is currently used by holochain; fixes for rust 1.66.1; add nix development shell

please see the commit messages for details on the changes

thanks for the reviews!
@gregoryj note that influxive is currently broken in the nix shell so the tests that require it fail. i spent some time trying to get it to work with influxdb that's part of the nix shell, but influxive currently hardcodes the version string it requires from the influx binaries (cli and daemon) and thus fails as the nixpkgs ones aren't the same.

@steveej
We can relax the influxive versions a little if we need to. I just haven't yet had the time to determine how far back the current cli and protocol apis are valid.