make px4_sitl gazebo fail

after sudo make px4_sitl gazebo command this fail comes,
FAILED: external/Stamp/sitl_gazebo/sitl_gazebo-configure
cd /home/yasemin/src/Firmware/build/px4_sitl_default/build_gazebo && /usr/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DSEND_ODOMETRY_DATA=ON -GNinja /home/yasemin/src/Firmware/Tools/sitl_gazebo && /usr/bin/cmake -E touch /home/yasemin/src/Firmware/build/px4_sitl_default/external/Stamp/sitl_gazebo/sitl_gazebo-configure
ninja: build stopped: subcommand failed.
make: *** [Makefile:226: px4_sitl] Error 1

@yaseminarpaci Please post the full log

sudo make px4_sitl gazebo
[sudo] password for yasemin:
[0/6] Performing configure step for 'sitl_gazebo'
-- install-prefix: /usr/local
-- cmake build type: RelWithDebInfo
CMake Error at cmake/EnableC++XX.cmake:26 (message):
The compiler /usr/bin/c++ has no C++11 or above support.  Please use a
different C++ compiler.
Call Stack (most recent call first):
CMakeLists.txt:44 (include)
-- Configuring incomplete, errors occurred!
See also "/home/yasemin/src/Firmware/build/px4_sitl_default/build_gazebo/CMakeFiles/CMakeOutput.log".
See also "/home/yasemin/src/Firmware/build/px4_sitl_default/build_gazebo/CMakeFiles/CMakeError.log".
[1/6] Generating ../../logs
FAILED: external/Stamp/sitl_gazebo/sitl_gazebo-configure
cd /home/yasemin/src/Firmware/build/px4_sitl_default/build_gazebo && /usr/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DSEND_ODOMETRY_DATA=ON -GNinja /home/yasemin/src/Firmware/Tools/sitl_gazebo && /usr/bin/cmake -E touch /home/yasemin/src/Firmware/build/px4_sitl_default/external/Stamp/sitl_gazebo/sitl_gazebo-configure
ninja: build stopped: subcommand failed.
make: *** [Makefile:226: px4_sitl] Error 1

@yaseminarpaci You shouldn't be using sudo. Please follow the documentation written in https://dev.px4.io/master/en/simulation/gazebo.html

@yaseminarpaci Please reopen if this issue persists. Closing since stale


File system support

Provide methods for Pyodide FS
Support for loading local modules

Hey --  just saw this! This looks great 🙌


Weather module

How to Create a New Module in Trigger Happy
weather API to use
sample scenario : get an email when it's rainning, snowing soon etc :P

made a Wiki page as "a Box of Ideas" https://github.com/foxmask/django-th/wiki/Modules-To-Do

https://github.com/chubin/wttr.in looks great

Won't see the light


@conda-forge-admin,please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/jlab-enhanced-cell-toolbar-feedstock#6.


map.series index

Add index to map.series

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (666f087) 99.60% compared to head (0edffca) 99.60%.

:exclamation: Current head 0edffca differs from pull request most recent head 9f1a1f6. Consider uploading reports for the commit 9f1a1f6 to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #271   +/-   ##
=======================================
  Coverage   99.60%   99.60%
=======================================
  Files         226      226
  Lines        3307     3307
=======================================
  Hits         3294     3294
  Misses         13       13

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

thanks fred


electrofarming saas

Description

Describe your PR! If it fixes specific issue, mention it with "Fixes # (issue)".

Select what type of change this PR introduces:

[ ] Just code/docs improvement (no functional change).
[ ] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).

Update Waspc ChangeLog and version if needed
If you did a bug fix, new feature, or breaking change, that affects waspc, make sure you satisfy the following:

[ ] I updated ChangeLog.md with description of the change this PR introduces.
[ ] I bumped waspc version in waspc.cabal to reflect changes I introduced, with regards to the version of the latest wasp release, if the bump was needed.

just a electrofarming saas from the generator


Add a check for Node version

We had a support query from someone using an unsupported Node version - this could possibly be happening more and we don't hear about it.
@nickcolley wrote something we could base it on:
https://github.com/nickcolley/check-nvmrc

We might want to consider that the version used in the Prototype Kit are strong recommendations as a warning rather than throwing an error and stopping them entirely.

Checking .nvmrc is trivial with Nick's repo as long as we always use a simple version number inside.
If we want to check the package.json engines property, that's bit more fiddly, since theoretically it can contain any valid semver string. So I think we either need to:
A) agree to a convention on how we write the engines version constraint, so that we can write a simpler check, or
B) parse any valid semver string, or
C) Leave this at checking .nvmrc
On B, I looked at using [node-semver](https://github.com/npm/node-semver). v7+ uses ES6, so fails on older versions of Node, which is what we're trying to catch. We could potentially stick to v6.3.0, but that bears a potential security risk.

to summarise a quick call we just had:
this isnt very high priority so if it gets complicated its fine to push it back
The version we support are in the tests, so 10, 12, 14:
https://github.com/alphagov/govuk-prototype-kit/blob/main/.github/workflows/run-tests.yaml#L10
Can you express that in engines in package.json? If so maybe we can use this package to check and warn the user
https://www.npmjs.com/package/check-engine

https://www.npmjs.com/package/check-engine also uses ES6, so fails on really old versions of Node.
I'm going to push this back, since we may have to roll our own solution.


No check on server if room exists or not.

This has been fixed in pull request #51

@alir128 The reason I re-open this issue is we still don't have a system to check if the src for a room still exists. In the event that user doesn't stop streaming and closes chrome directly, server won't know if the user is still active, even though the room is now inaccessible. Ideally, we should have some sort of ping system to check the status of the room every minute or so

the functionality already exists since last week, the tabs.onRemoved listener checks once the streaming tab is existed it makes disconnect room call and all clients automatically switch back the state where they can connect to another or host a room.

what if the user closes the window itself instead of just the tab? Maybe we can add a onclose handler?

I just tested the scenario also (1 tab only on a window which is the host) and connected a client. I exited the host (window not tab) and the clients still received the host logoff message from the server and got reset. So I think the tab listener also works as a window close listener also.


Fixed #26020 -- Changed header stylings in doc

Changed the header stylings in docs. Added documentation for header
styling. Also removed unused top level ".. _ links" and changed
referencing links.

Ok I'll fix those.
@timgraham  Together with the fix in the ticket, is the correct way closing this pull request and resubmitting a new one?

No, you can amend pull requests. https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/working-with-git/ might help.

Ok thank you.

merged in bca9faae95db2a92e540fbd08505c134639916f, thanks for great work!


TV not showup on homekit

I did installed the plugins on homebridge. it show on accessory. connect to port 8182 also works. but add it to homekit. it didn't show any devices on the bridge.

On port 8082 dis you see and pair a device ?

Having this same issue, I paired the device and it works just fine on Homebridge dashboard but the TV doesn't appear in HomeKit at all.

I am having this issue as well. It is asking me for a pairing code when I go to add it in HomeKit. I’m using a TCL TV

Scan the Hombridge QR when asked for the code

_>

It found the TV but I have no idea how to pair it. When tapping + on Home app, it does not show the TV at all. Help!_

Have you tried pairing at [homebridge_ip]:8060 ?

The instruction wasn't very clear. Is the port ending homebridge_ip is the homebridge instance port? Or was it something else?

Hi.
The web interface for this homebridge plugin is at port 8060. There you can pair a TV,
sorry if my instruction was unclear.

Yes, but it shows the URL isn't valid. Tried on Safari on either Mac and iPhone, same issue.

Hi.
I'm very sorry but gave you the wrong URL. The actual (default) web interface is [homebridge_ip]:8182 .

same issue here
device is correctly paired in homebridge and shows up as an accessory in homebridge,
add the bridge in homekit, the bridge gets added but no device shows up in homekit to control.

Having this same issue, I paired the device and it works just fine on Homebridge dashboard but the TV doesn't appear in HomeKit at all.

did you manage to get this working?

I had to add the accessory manually, did you try that? My bridge has been connected already but the device would not pop up automatically in HomeKit.

I had to add the accessory manually, did you try that? My bridge has been connected already but the device would not pop up automatically in HomeKit.

How do you add it manually?
Any other item in homebridge has always shown up automatically once the bridge has been added

Ok, here is what I did:

First installation of the plugin (my home bridge is already connected to HomeKit)
-Apple Home App -> Add accessory -> more options -> then I found my tv device

After that I did some minor changes which caused the buttons top stop working. I tried to revert my changes and finally deleted my TV accessory again.
That's when I started running into the same problem. Config was working and accessory shown in the homebridge. But I have not been able to add or find it via HomeKit.
Now I had two options which you can try:
And this was working for me: In your Homebridge settings you can reset bridges, cameras and tvs. I deleted every old entry, restarted homebridge and after that I could add the accessory manually again via HomeKit.
or
Try to run the plugin as child bridge, add this bridge and test again


Filter nulls from joins where possible to improve performance

This fixes #569
I pulled out the performance fix #594 yesterday because I wanted to be sure that all of the queries were correct for the 0.2 release and I wasn't sure I could find the root cause of the issue before the release.
I found it.  When doing a join each incoming table has the join keys extracted from it and then the join is performed.  The null filtering was intended to go after the keys were extracted and before the actual join.  On the build side I had done that, but on the stream side I had inserted the null filtering before the keys were extracted.  That ended up causing, in some cases, an unrelated column to have all of the nulls removed from it.  fa1215b has the fix.  I move the null filtering to after the project on the stream side and it cleans up the code a bit more too.
There is a lot of code changes in here, but some of it is done 3 times because of the shim layer.

build


Hope to add TypeNameFormatOptions.NoGeneric

/// <summary>
///   Specifies that an open generic type's parameter names should be omitted.
///   <example>
///     For example, the open generic type <see cref="IEquatable{T}"/> is formatted as <c>"IEquatable<T>"</c> by default.
///     When this flag is specified, it will be formatted as <c>"IEquatable<>"</c>.
///   </example>
/// </summary>
NoGeneric = 64

Line 253
if (IsSet(TypeNameFormatOptions.NoGeneric, options) == false && ownGenericTypeArgStartIndex < ownGenericTypeParamCount)
{
    //...
}

This is very effective for handling generic type merging. Thank you!
By the way, thank you for your contribution to Castle.Core.

I'm not sure what you're asking for here. The code shown suggests that NoGeneric would work exactly

I have a special case ...
a: I need to get a generic name string without parameter types, and then splice a parameter type name to get a new generic name string.
b: Then hit the generic type dictionary generated in advance in "Source generator". The reason for this is related to MakeGenericType and AOT. That will be another story :)
However, to be honest, I hope this library can play a larger role in the processing of type names, such as more flexible processing methods for generics :)
If you have a different position, I understand, I will have to use the form of built-in source code, but it is not elegant!
Finally, maybe I was wrong or missed something.

Maybe you are right. What I need is not a standard type format, so it is difficult... I may need to process it again.
It's time to close the issue until someone mentions it again.
thank you!


Docs - enhance readme

Description
Add information to README.md about supported/unsupported features of Teradata/DBT.
Checklist

[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have updated the CHANGELOG.md with information about my change

@dbeatty10 ,
is there anything that is missing on the unsupported dbt features list?

@adamtwo this covers all the known unsupported features.
This documentation will be very helpful.
This looks ready to merge to me.


云审查使用求助

[WARN] [compute_imghash] module 'cv2' has no attribute 'img_hash'
这个怎么解决，谢谢大佬

I uninstalled both opencv-python and opencv-contrib-python and then installed only opencv-contrib-python.
解决了。


Suggestion: add a screenshot in the README

Hi, this plugin sounds cool but without a screenshot in your README file, it's hard to understand if it fits the use case of a person.
I suggest you to include some images to make people understand how the map renders and how it looks like.
Thanks

Hi @rignaneseleo ,
Thank you for the suggestion, I will add an screenshot and an online example in the near future.
At the moment I am still working on the website for simplewidgets.dev
Untill then you can find a screenshot of the sample app here:
https://simplewidgets.dev/wp-content/uploads/2021/07/countries_world_map.png
The sample app creates the map and give each country a random color from a list of 5 colors.
Hope you like it

Nice! I pushed a change in the readme so it includes this screenshot.
Good job, keep it up!

Hi @rignaneseleo ,
The website is still under construction, but I uploaded an online example to a subdomain. Please visit: https://pub.dev/packages/countries_world_map to see the changes.
If you have more suggestions let me know!


Feature Request/431 file upload page missing features

Overview of the Feature Request
This issue summarizes the remaining work needed to have a fully featured file upload functionality in the new SPA UI.
Follow-up to the PR #418:

[ ] use the new SelectMultiple component for tag selection
[ ] implement handling of the duplicate files having either an identical content or label+name
[x] extend the interface of the add uploaded files call in the js-dataverse library to accept more parameters, like tags, description, etc., and make it support adding multiple files at once, i.s.o. adding files one-by-one (addUploadedFilesToDataset call), see also https://guides.dataverse.org/en/latest/developers/s3-direct-upload-api.html#direct-add-to-dataset-api. When ready, the implementation of FileJSDataverseRepository.ts addUploadedFile method can be refactored to no longer mock a file, that is not needed here, but to use a proper interface with description, restricted boolean, tags, etc.
[ ] implement new use case needed for installations not supporting S3 tagging, but also useful for other installations: cleanup storage of a dataset
[ ] refactor scss of src/sections/upload-dataset-files/FileUploader.module.scss to no longer contain the !important addition.
[ ] improve state handling where it can be simplified in some way
[x] add real e2e test at least for this cases:

Upload a single file
Upload multiple files
Upload multiple files and cancel one.
And after each test navigate to the Dataset that the files were uploaded and check they exists in the Files Table

[ ] display: contents causes an element's children to appear as if they were direct children of the element's parent, ignoring the element itself. This can be useful when a wrapper element should be ignored when using CSS grid or similar layout techniques. It's a bit fragile css hack and we should use a table here perhaps and not a Card to render the list of uploaded files.
[ ] infinite scrolling

What kind of user is the feature intended for?
(Example users roles: API User, Curator, Depositor, Guest, Superuser, Sysadmin)
Depositor
What inspired the request?
Uploading files feature.
What existing behavior do you want changed?
Any brand-new behavior do you want to add to Dataverse?
Uploading files feature.
Any open or closed issues related to this feature request?
#417

Integration tests are implemented in PR #464


Error in test command: Both stdout and stderr are not empty for "xcodebuild" comman

Description:
While using the sweetpad extension in VSCode, an error occurs during the execution of the test command. The issue is caused by multiple matching destinations being detected, leading to ambiguous selection and failure in fetching the build settings.
The error occurs automatically when the sweetpad extension tries to run a test build. Here's the error message
Feature is a target defined in the Swift Package Manager.
{
  "message": "Both stdout and stderr are not empty for \"xcodebuild\" command",
  "level": 2,
  "time": "2024-10-19T01:35:52.823Z",
  "stdout": "[\n\n]",
  "stderr": "--- xcodebuild: WARNING: Using the first of multiple matching destinations:\n{ platform:macOS, arch:arm64e, id:XXXXXXXX-XXXXXXXXXXXX, name:My Mac }\n{ platform:macOS, arch:arm64, id:XXXXXXXX-XXXXXXXXXXXX, name:My Mac }\n{ platform:iOS, arch:arm64, id:XXXXXXXX-XXXXXXXXXXXX, name:TestDevice1 }\n{ platform:iOS, arch:arm64, id:XXXXXXXX-XXXXXXXXXXXX, name:TestDevice2 }\n",
  "command": "xcodebuild",
  "args": [
    "-showBuildSettings",
    "-scheme",
    "Feature",
    "-workspace",
    "/path/to/project/App.xcworkspace",
    "-configuration",
    "Debug",
    "-json"
  ],
  "cwd": "/path/to/project"
}
{
  "message": "Error fetching build settings",
  "level": 3,
  "time": "2024-10-19T01:35:52.823Z",
  "stackTrace": "Error: Error fetching build settings\n    at new qv (/Users/dummyuser/.vscode/extensions/sweetpad.sweetpad-0.1.37/out/extension.js:233:12440)\n    at /Users/dummyuser/.vscode/extensions/sweetpad.sweetpad-0.1.37/out/extension.js:235:27\n    at Generator.next (<anonymous>)\n    at o (/Users/dummyuser/.vscode/extensions/sweetpad.sweetpad-0.1.37/out/extension.js:1:1350)\n    at processTicksAndRejections (node:internal/process/task_queues:95:5)",
  "command": "sweetpad.build.test",
  "error": {}
}

@funzin Could you manually execute this command show me the output?
xcodebuild \
  -showBuildSettings \
  -scheme Feature \
  -workspace /path/to/project/App.xcworkspace \
  -configuration Debug \
  -json

I think you are correct that the problem is due to multiple destinations, but there may also be some additional information in the stdout

@hyzyla
Thank you for you reply.
This is the output log.(with masking id)
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:arm64e, id:XXXXXXXX-XXXXXXXXXXXXXXX, name:My Mac }
{ platform:macOS, arch:arm64, id:XXXXXXXX-XXXXXXXXXXXXXXX, name:My Mac }
{ platform:macOS, arch:x86_64, id:XXXXXXXX-XXXXXXXXXXXXXXX, name:My Mac }
{ platform:macOS, arch:arm64e, variant:Mac Catalyst, id:XXXXXXXX-XXXXXXXXXXXXXXX, name:My Mac }
{ platform:macOS, arch:arm64, variant:Mac Catalyst, id:XXXXXXXX-XXXXXXXXXXXXXXX, name:My Mac }
{ platform:macOS, arch:x86_64, variant:Mac Catalyst, id:XXXXXXXX-XXXXXXXXXXXXXXX, name:My Mac }
{ platform:macOS, arch:arm64, variant:DriverKit, id:XXXXXXXX-XXXXXXXXXXXXXXX, name:My Mac }
{ platform:macOS, arch:arm64, variant:Designed for [iPad,iPhone], id:XXXXXXXX-XXXXXXXXXXXXXXX, name:My Mac }
{ platform:DriverKit, name:Any DriverKit Host }
{ platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
{ platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
{ platform:macOS, name:Any Mac }
{ platform:macOS, variant:Mac Catalyst, name:Any Mac }
{ platform:iOS, arch:arm64e, id:XXXXXXXX-XXXXXXXXXXXXXXX, name:funzin }
{ platform:iOS, arch:arm64, id:XXXXXXXX-XXXXXXXXXXXXXXX, name:funzin }
{ platform:iOS Simulator, id:XXXXXXXX-XXXXXXXXXXXXXXX, OS:17.5, name:iPad (6th generation) }
{ platform:iOS Simulator, id:XXXXXXXX-XXXXXXXXXXXXXXX, OS:17.5, name:iPad (6th generation) }
{ platform:iOS Simulator, id:XXXXXXXX-XXXXXXXXXXXXXXX, OS:17.5, name:iPhone 15 Pro }
{ platform:iOS Simulator, id:XXXXXXXX-XXXXXXXXXXXXXXX, OS:17.5, name:iPhone 15 Pro }
{ platform:iOS Simulator, id:XXXXXXXX-XXXXXXXXXXXXXXX, OS:18.0, name:iPhone 16 Pro }
{ platform:iOS Simulator, id:XXXXXXXX-XXXXXXXXXXXXXXX, OS:18.0, name:iPhone 16 Pro }
[
]

I understand.
It seems that when specifying a module(e.g. Feature ) managed by SPM (Swift Package Manager), the xcodebuild -showBuildSettings command returns an empty output. As a result, if you attempt to run tests for an SPM-managed module through xcodebuild, the current setup does not allow you to retrieve build settings.
For now, you might need to explore alternative methods to handle test execution for SPM modules
https://github.com/sweetpad-dev/sweetpad/blob/main/src/common/cli/scripts.ts#L136-L185

Oh, thanks. Information about SPM is super helpful here. Could you make some simple test project with the same structure as your project? Or could you explain how to reproduce this structure?

@hyzyla
Could you check the project?
SwiftExample.zip
When I checked the error again, a different one was output.
{
  "message": "Error fetching build settings",
  "level": 3,
  "time": "2024-10-21T11:41:01.213Z",
  "stackTrace": "Error: Error fetching build settings\n    at new Kv (/Users/dummy/.vscode/extensions/sweetpad.sweetpad-0.1.38/out/extension.js:233:12698)\n    at /Users/dummy/.vscode/extensions/sweetpad.sweetpad-0.1.38/out/extension.js:235:27\n    at Generator.next (<anonymous>)\n    at o (/Users/dummy/.vscode/extensions/sweetpad.sweetpad-0.1.38/out/extension.js:1:1377)\n    at processTicksAndRejections (node:internal/process/task_queues:95:5)",
  "command": "sweetpad.build.test",
  "error": {}
}

On the same topic of SPM packages I have an example that fails with
xcodebuild: error: Failed to build workspace TestProject with scheme TestProject.: Tests in the target “TestProject” can’t be run because “TestProject” isn’t a member of the specified test plan or scheme.

when running specific tests e.g.
xcodebuild test-without-building \
    -workspace /Users/rafael.pedretti/sources/TestProject/TestProject.xcodeproj/project.xcworkspace \
    -destination 'platform=iOS Simulator,id=959B32D4-953C-49EB-B093-8A88C0654D92' \
    -scheme TestProject \
    -only-testing\:TestProject/LibOneTests/testExample

But if change the only-testing to -only-testing\:/LibOneTests/testExample it works as expected
TestProject.zip

@hyzyla
Could you check the project? SwiftExample.zip
When I checked the error again, a different one was output.
{
  "message": "Error fetching build settings",
  "level": 3,
  "time": "2024-10-21T11:41:01.213Z",
  "stackTrace": "Error: Error fetching build settings\n    at new Kv (/Users/dummy/.vscode/extensions/sweetpad.sweetpad-0.1.38/out/extension.js:233:12698)\n    at /Users/dummy/.vscode/extensions/sweetpad.sweetpad-0.1.38/out/extension.js:235:27\n    at Generator.next (<anonymous>)\n    at o (/Users/dummy/.vscode/extensions/sweetpad.sweetpad-0.1.38/out/extension.js:1:1377)\n    at processTicksAndRejections (node:internal/process/task_queues:95:5)",
  "command": "sweetpad.build.test",
  "error": {}
}

Faced the similar problem here. In my case, I use a package.swift to generate my Xcode project，it throws the same error when i build the related scheme

Thanks frontage information. I’ll try to check this issue this weekend

@funzin, could you help me understand how to run tests directly in Xcode? I don’t have much experience working with projects like this

I understand.
It seems that when specifying a module(e.g. Feature ) managed by SPM (Swift Package Manager), the xcodebuild -showBuildSettings command returns an empty output. As a result, if you attempt to run tests for an SPM-managed module through xcodebuild, the current setup does not allow you to retrieve build settings.
For now, you might need to explore alternative methods to handle test execution for SPM modules

When I select Feature in the scheme and then run tests in the Xcode project, I get the following error:

But if change the only-testing to -only-testing:/// as -only-testing:/LibOneTests/LibOneTests/testExample it works as expected

This is a key point! As I understand it, to run tests in an SPM package, we need to specify the target name from the .testTarget in the Package.swift file, rather than using a target from the xcodebuild -list command. In the latest version, I've added support for detecting SPM packages and their test targets. Could someone check this on their projects? I'm not entirely sure if this is the right fix for this issue

I'll have some code by eod today for people to test also. I'm scanning the
project to add all the tests to test explorer a do some other fixes
On Sun 3 Nov 2024, 12:48 Yevhenii Hyzyla, @.***> wrote:

But if change the only-testing to -only-testing:/// as
-only-testing:/LibOneTests/LibOneTests/testExample it works as expected
This is a key point! As I understand it, to run tests in an SPM package,
we need to specify the target name from the .testTarget in the
Package.swift file, rather than using a target from the xcodebuild -list
command. In the latest version, I've added support for detecting SPM
packages and their test targets. Could someone check this on their
projects? I'm not entirely sure if this is the right fix for this issue
@.*** (view on web)
https://github.com/user-attachments/assets/586c240b-bb5e-449e-b904-a6f331abefd4
—
Reply to this email directly, view it on GitHub
https://github.com/sweetpad-dev/sweetpad/issues/52#issuecomment-2453416463,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFE6EILXKKTMSPQSV7PID3Z6YLTPAVCNFSM6AAAAABQG7LKAOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJTGQYTMNBWGM
.
You are receiving this because you commented.Message ID:
@.***>

But if change the only-testing to -only-testing:/// as -only-testing:/LibOneTests/LibOneTests/testExample it works as expected

This is a key point! As I understand it, to run tests in an SPM package, we need to specify the target name from the .testTarget in the Package.swift file, rather than using a target from the xcodebuild -list command. In the latest version, I've added support for detecting SPM packages and their test targets. Could someone check this on their projects? I'm not entirely sure if this is the right fix for this issue

In my case, the problem still exists. You can easily reproduce using this repo. The generated folder just using Package.swift to generate project

I have a PR to try to get most of the test data from the project itself: https://github.com/sweetpad-dev/sweetpad/pull/67


SOC-9762 - Landing documentation

Added documentation to help new developers to understand what is Airship and all its
ecosystem of tools.
This provides links to documentation and videos to help learning, but also to as an entry point to find the important documentation.
Contributor @AbelNavarro

Thanks Abel, squashed

Is it needed to pass the CI in this case? I checked previous commits and failed in non related issues. Now this task seems was aborted in CI

Is it needed to pass the CI in this case? I checked previous commits and failed in non related issues. Now this task seems was aborted in CI

Yes. The CI should be only doing docs if it only contains docs changes.

Is it needed to pass the CI in this case? I checked previous commits and failed in non related issues. Now this task seems was aborted in CI

Yes. The CI should be only doing docs if it only contains docs changes.

it seems README is not in the things to check to be part of docs changes. Worth adding. In the meantime, if you remove the README, you'll see it pass quite faster.

We should maybe also explain the current state of the CI too.

Restarted CI job.

Squashed

I got this branch rebased to master but then I cannot force-push it to @ilausuch repo. I think it should be merged as is or wait for Ivan to come back.

Too bad we don't have a bot doing that, right? :p

Can we recheck now that https://github.com/SUSE-Cloud/socok8s/pull/645 has merged?

I did a re-check on this PR. The re-check does not rebase the branch, so the teardown improvement is not there. But for some reason the teardown went fine anyway so the CI passed. I'm merging this PR because as I mentioned before cannot be tested with that rebase if I cannot push-force to the branch.


auto_argmatcher : can't get doskey'd binary to be detected

This started when I wanted to have arg completions for tar
I have two versions of tar:

provided by windows (is inside system32), bsdtar
provided by git bash (is in the C:\Program Files\Git\usr\bin\ folder), gnutar

tar defaults to the windows one because of PATH resolution, so I have made a doskey alias to the gnu tar named gnutar.
However, I can't get auto_argmatcher to detect the args for gnutar, even with the override command.
Tried:
gnutar --help gnu

gnutar "C:\Program Files\Git\usr\bin\tar.exe --help" gnu --override_command

+ variants of this with single/double quotes around the path because it contains a space
gnutar "cat d:/env/gnuhelptext.txt" gnu --override_command

(gnuhelptext.txt contains the output of the help command)
One notable difference I see with a working example (for uv) is the syntax color (in the prompt) is different for the commands it does detect arguments for

You haven't shared the actual doskey alias definitions or how you're trying to configure auto_argmatcher.
But you mentioned not being able to "detect the args", so my first guess would be that you forgot to include  $* in the doskey alias definition.
Also, the GNU parser built into auto_argmatcher is not intended to be able to parse help text from all GNU programs.  Different programs use slightly different formatting conventions in their help text.
I really would not recommend investing a lot in trying to use auto_argmatcher for this.
Just write an argmatcher for tar.  If you want to try to write a parser for tar's help text, go ahead, but that's a ton more work than just writing an argmatcher.

Here is the help text for tar, it seemed very similar to other gnu tools so I thought it might work:
Usage: tar [OPTION...] [FILE]...
GNU 'tar' saves many files together into a single tape or disk archive, and can
restore individual files from the archive.

Examples:
  tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.
  tar -tvf archive.tar         # List all files in archive.tar verbosely.
  tar -xf archive.tar          # Extract all files from archive.tar.

 Main operation mode:
  -A, --catenate, --concatenate   append tar files to an archive
  -c, --create               create a new archive
      --delete               delete from the archive (not on mag tapes!)
  -d, --diff, --compare      find differences between archive and file system
  -r, --append               append files to the end of an archive
      --test-label           test the archive volume label and exit
  -t, --list                 list the contents of an archive
  -u, --update               only append files newer than copy in archive
  -x, --extract, --get       extract files from an archive

 Operation modifiers:

      --check-device         check device numbers when creating incremental
                             archives (default)
  -g, --listed-incremental=FILE   handle new GNU-format incremental backup
  -G, --incremental          handle old GNU-format incremental backup
      --hole-detection=TYPE  technique to detect holes
      --ignore-failed-read   do not exit with nonzero on unreadable files
      --level=NUMBER         dump level for created listed-incremental archive
      --no-check-device      do not check device numbers when creating
                             incremental archives
      --no-seek              archive is not seekable
  -n, --seek                 archive is seekable
      --occurrence[=NUMBER]  process only the NUMBERth occurrence of each file
                             in the archive; this option is valid only in
                             conjunction with one of the subcommands --delete,
                             --diff, --extract or --list and when a list of
                             files is given either on the command line or via
                             the -T option; NUMBER defaults to 1
      --sparse-version=MAJOR[.MINOR]
                             set version of the sparse format to use (implies
                             --sparse)
  -S, --sparse               handle sparse files efficiently

 Local file name selection:
      --add-file=FILE        add given FILE to the archive (useful if its name
                             starts with a dash)
  -C, --directory=DIR        change to directory DIR
      --exclude=PATTERN      exclude files, given as a PATTERN
      --exclude-backups      exclude backup and lock files
      --exclude-caches       exclude contents of directories containing
                             CACHEDIR.TAG, except for the tag file itself
      --exclude-caches-all   exclude directories containing CACHEDIR.TAG
      --exclude-caches-under exclude everything under directories containing
                             CACHEDIR.TAG
      --exclude-ignore=FILE  read exclude patterns for each directory from
                             FILE, if it exists
      --exclude-ignore-recursive=FILE
                             read exclude patterns for each directory and its
                             subdirectories from FILE, if it exists
      --exclude-tag=FILE     exclude contents of directories containing FILE,
                             except for FILE itself
      --exclude-tag-all=FILE exclude directories containing FILE
      --exclude-tag-under=FILE   exclude everything under directories
                             containing FILE
      --exclude-vcs          exclude version control system directories
      --exclude-vcs-ignores  read exclude patterns from the VCS ignore files
      --no-null              disable the effect of the previous --null option
      --no-recursion         avoid descending automatically in directories
      --no-unquote           do not unquote input file or member names
      --no-verbatim-files-from   -T treats file names starting with dash as
                             options (default)
      --null                 -T reads null-terminated names; implies
                             --verbatim-files-from
      --recursion            recurse into directories (default)
  -T, --files-from=FILE      get names to extract or create from FILE
      --unquote              unquote input file or member names (default)
      --verbatim-files-from  -T reads file names verbatim (no escape or option
                             handling)
  -X, --exclude-from=FILE    exclude patterns listed in FILE

 File name matching options (affect both exclude and include patterns):

      --anchored             patterns match file name start
      --ignore-case          ignore case
      --no-anchored          patterns match after any '/' (default for
                             exclusion)
      --no-ignore-case       case sensitive matching (default)
      --no-wildcards         verbatim string matching
      --no-wildcards-match-slash   wildcards do not match '/'
      --wildcards            use wildcards (default for exclusion)
      --wildcards-match-slash   wildcards match '/' (default for exclusion)

 Overwrite control:

      --keep-directory-symlink   preserve existing symlinks to directories when
                             extracting
      --keep-newer-files     don't replace existing files that are newer than
                             their archive copies
  -k, --keep-old-files       don't replace existing files when extracting,
                             treat them as errors
      --no-overwrite-dir     preserve metadata of existing directories
      --one-top-level[=DIR]  create a subdirectory to avoid having loose files
                             extracted
      --overwrite            overwrite existing files when extracting
      --overwrite-dir        overwrite metadata of existing directories when
                             extracting (default)
      --recursive-unlink     empty hierarchies prior to extracting directory
      --remove-files         remove files after adding them to the archive
      --skip-old-files       don't replace existing files when extracting,
                             silently skip over them
  -U, --unlink-first         remove each file prior to extracting over it
  -W, --verify               attempt to verify the archive after writing it

 Select output stream:

      --ignore-command-error ignore exit codes of children
      --no-ignore-command-error   treat non-zero exit codes of children as
                             error
  -O, --to-stdout            extract files to standard output
      --to-command=COMMAND   pipe extracted files to another program

 Handling of file attributes:

      --atime-preserve[=METHOD]   preserve access times on dumped files, either
                             by restoring the times after reading
                             (METHOD='replace'; default) or by not setting the
                             times in the first place (METHOD='system')
      --clamp-mtime          only set time when the file is more recent than
                             what was given with --mtime
      --delay-directory-restore   delay setting modification times and
                             permissions of extracted directories until the end
                             of extraction
      --group=NAME           force NAME as group for added files
      --group-map=FILE       use FILE to map file owner GIDs and names
      --mode=CHANGES         force (symbolic) mode CHANGES for added files
      --mtime=DATE-OR-FILE   set mtime for added files from DATE-OR-FILE
  -m, --touch                don't extract file modified time
      --no-delay-directory-restore
                             cancel the effect of --delay-directory-restore
                             option
      --no-same-owner        extract files as yourself (default for ordinary
                             users)
      --no-same-permissions  apply the user's umask when extracting permissions
                             from the archive (default for ordinary users)
      --numeric-owner        always use numbers for user/group names
      --owner=NAME           force NAME as owner for added files
      --owner-map=FILE       use FILE to map file owner UIDs and names
  -p, --preserve-permissions, --same-permissions
                             extract information about file permissions
                             (default for superuser)
      --same-owner           try extracting files with the same ownership as
                             exists in the archive (default for superuser)
      --sort=ORDER           directory sorting order: none (default), name or
                             inode
  -s, --preserve-order, --same-order
                             member arguments are listed in the same order as
                             the files in the archive

 Handling of extended file attributes:

      --acls                 Enable the POSIX ACLs support
      --no-acls              Disable the POSIX ACLs support
      --no-selinux           Disable the SELinux context support
      --no-xattrs            Disable extended attributes support
      --selinux              Enable the SELinux context support
      --xattrs               Enable extended attributes support
      --xattrs-exclude=MASK  specify the exclude pattern for xattr keys
      --xattrs-include=MASK  specify the include pattern for xattr keys

 Device selection and switching:

      --force-local          archive file is local even if it has a colon
  -f, --file=ARCHIVE         use archive file or device ARCHIVE
  -F, --info-script=NAME, --new-volume-script=NAME
                             run script at end of each tape (implies -M)
  -L, --tape-length=NUMBER   change tape after writing NUMBER x 1024 bytes
  -M, --multi-volume         create/list/extract multi-volume archive
      --rmt-command=COMMAND  use given rmt COMMAND instead of rmt
      --rsh-command=COMMAND  use remote COMMAND instead of rsh
      --volno-file=FILE      use/update the volume number in FILE

 Device blocking:

  -b, --blocking-factor=BLOCKS   BLOCKS x 512 bytes per record
  -B, --read-full-records    reblock as we read (for 4.2BSD pipes)
  -i, --ignore-zeros         ignore zeroed blocks in archive (means EOF)
      --record-size=NUMBER   NUMBER of bytes per record, multiple of 512

 Archive format selection:

  -H, --format=FORMAT        create archive of the given format

 FORMAT is one of the following:
    gnu                      GNU tar 1.13.x format
    oldgnu                   GNU format as per tar <= 1.12
    pax                      POSIX 1003.1-2001 (pax) format
    posix                    same as pax
    ustar                    POSIX 1003.1-1988 (ustar) format
    v7                       old V7 tar format

      --old-archive, --portability
                             same as --format=v7
      --pax-option=keyword[[:]=value][,keyword[[:]=value]]...
                             control pax keywords
      --posix                same as --format=posix
  -V, --label=TEXT           create archive with volume name TEXT; at
                             list/extract time, use TEXT as a globbing pattern
                             for volume name

 Compression options:

  -a, --auto-compress        use archive suffix to determine the compression
                             program
  -I, --use-compress-program=PROG
                             filter through PROG (must accept -d)
  -j, --bzip2                filter the archive through bzip2
  -J, --xz                   filter the archive through xz
      --lzip                 filter the archive through lzip
      --lzma                 filter the archive through lzma
      --lzop                 filter the archive through lzop
      --no-auto-compress     do not use archive suffix to determine the
                             compression program
      --zstd                 filter the archive through zstd
  -z, --gzip, --gunzip, --ungzip   filter the archive through gzip
  -Z, --compress, --uncompress   filter the archive through compress

 Local file selection:

      --backup[=CONTROL]     backup before removal, choose version CONTROL
      --hard-dereference     follow hard links; archive and dump the files they
                             refer to
  -h, --dereference          follow symlinks; archive and dump the files they
                             point to
  -K, --starting-file=MEMBER-NAME
                             begin at member MEMBER-NAME when reading the
                             archive
      --newer-mtime=DATE     compare date and time when data changed only
  -N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE
                             only store files newer than DATE-OR-FILE
      --one-file-system      stay in local file system when creating archive
  -P, --absolute-names       don't strip leading '/'s from file names
      --suffix=STRING        backup before removal, override usual suffix ('~'
                             unless overridden by environment variable
                             SIMPLE_BACKUP_SUFFIX)

 File name transformations:

      --strip-components=NUMBER   strip NUMBER leading components from file
                             names on extraction
      --transform=EXPRESSION, --xform=EXPRESSION
                             use sed replace EXPRESSION to transform file
                             names

 Informative output:

      --checkpoint[=NUMBER]  display progress messages every NUMBERth record
                             (default 10)
      --checkpoint-action=ACTION   execute ACTION on each checkpoint
      --full-time            print file time to its full resolution
      --index-file=FILE      send verbose output to FILE
  -l, --check-links          print a message if not all links are dumped
      --no-quote-chars=STRING   disable quoting for characters from STRING
      --quote-chars=STRING   additionally quote characters from STRING
      --quoting-style=STYLE  set name quoting style; see below for valid STYLE
                             values
  -R, --block-number         show block number within archive with each message

      --show-defaults        show tar defaults
      --show-omitted-dirs    when listing or extracting, list each directory
                             that does not match search criteria
      --show-snapshot-field-ranges
                             show valid ranges for snapshot-file fields
      --show-transformed-names, --show-stored-names
                             show file or archive names after transformation
      --totals[=SIGNAL]      print total bytes after processing the archive;
                             with an argument - print total bytes when this
                             SIGNAL is delivered; Allowed signals are: SIGHUP,
                             SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the names
                             without SIG prefix are also accepted
      --utc                  print file modification times in UTC
  -v, --verbose              verbosely list files processed
      --warning=KEYWORD      warning control
  -w, --interactive, --confirmation
                             ask for confirmation for every action

 Compatibility options:

  -o                         when creating, same as --old-archive; when
                             extracting, same as --no-same-owner

 Other options:

  -?, --help                 give this help list
      --restrict             disable use of some potentially harmful options
      --usage                give a short usage message
      --version              print program version

Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.

The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control may be set with --backup or VERSION_CONTROL, values are:

  none, off       never make backups
  t, numbered     make numbered backups
  nil, existing   numbered if numbered backups exist, simple otherwise
  never, simple   always make simple backups

Valid arguments for the --quoting-style option are:

  literal
  shell
  shell-always
  shell-escape
  shell-escape-always
  c
  c-maybe
  escape
  locale
  clocale

*This* tar defaults to:
--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/lib/tar/rmt.exe
--rsh-command=/usr/bin/rsh

Is the reason for auto_argmatcher not working here not getting the help text in the first place, or not being able to parse it?

For me, it "works" in the sense that it parses the text and makes and argmatcher.
But the argmatcher has many inaccuracies because the help text format has many quirks that the parser doesn't know how to recognize or handle.

I  think if I'm writing an argmatcher, might as well write a parser?

Writing a parser has pros and cons.
Pros:

May be able to automatically adapt to new versions of the program.
Might be able to handle localized text in other languages, depending on details of the help text format and what the parser looks for.
If a program has tons of flags/commands, then writing a parser might take less time than directly writing an argmatcher.

Cons:

Can't reliably predict how the help text format will look in future versions of the program, so future versions have potential to break the argmatcher.
Requires significant testing time and effort.
Help text formats often have quirks/typos that interfere with parsing.
Help text rarely lists the available values for arguments to flags or commands, so parsed argmatchers are often less complete/functional than manually written argmatchers.
Parsing help text requires actually running the program.  This can introduce timing delays.  It also has a risk of running a different kind of foo.exe program than was expected, and a different program with the same name might not interpret --help as a flag, and that could lead to unexpected malfunctions or even hangs.
Writing a parser takes a lot of time and effort.  Unless the set of flags is very large, it's usually much faster to directly write an argmatcher instead of writing a parser that tries to interpret help text.


Update version to 1.0.22-0 on main

Update version to 1.0.22-0

🚀 [Deployed](https://github.com/Expensify/Expensify.cash
/actions/runs/765130740) 🚀 to
staging on Mon Apr 19 2021 at 22:41:56 GMT+0000 (Coordinated Universal Time)

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


How to build static content without use of built-in webserver

My use case is to build a static site locally and publish it to a web server that will serve up the content itself. I'll probably get the files onto the server with rsync.
Because of this, I have no use for hugo's built-in web server. Unfortunately, there doesn't appear to be a way to generate any of the static content without running this web server. This can be problematic if (for whatever reason) you don't have the ability to bind any network sockets, even when using port numbers above 1024.
This would be manageable, except that the documentation doesn't make any mention of this fact anywhere. I've just spent the last half an hour trying to work out how to do this and have come up with nothing.
On top of that, the documentation makes no mention of how certain features behave when not using the built-in web server, such as aliases.
Is there any reason why a hugo build command doesn't exist? If not, is there any reason why it can't be created? At the very least, the documentation should be updated, as this feels like a rather big oversight.

hugo without any arguments IS hugo build.

Where is that documented? At the very least, nothing shows up that indicates this when you run 'hugo help'.

You are correct, it could be better documented in hugo help.
But hugo is the answer to your question.

See also #852
(Hope to find time to work on the documentation in a week or two.)

Where is the text output by hugo help stored in the codebase? I'd be happy to draft an update for it and submit a PR if I could find it.

Surely the best course of action would be to create a hugo build command. It would be a lot easier to document this,and would mean it is not an odd exception to all of the other commands.

No, that's not a good solution. hugo is the main command, all the sub commands are helpers.

I'm ok with an alias. It may help with user experience as this comes up pretty often. Agree with @bep that bare hugo is the right way to do things and shouldn't change.

Hugo 0.13 has the same problem of earlier versions that the baseUrl is always inserted into URLs, meaning that is isn't yet possible to generate a site of purely-static content. I hope this can be resolved soon.
It is related to issue #157, and obliquely to #681.
The main problem is Hugo being able to emit URLs that are purely relative, i.e. without "file:///" or other such problematic prefix. Relative URLs need to be of the form "hello/world.html" or "theme/style.css", i.e. with no leading scheme, domain or slash character.
As of v0.13, there is always some prefix inserted, preventing fully relative URLs. This is problematic.

I've just spent a few minutes reading hugo -h (and all subcommands), eventually I googled and ended up here. A hugo build alias would be useful.

It seems that generated site doesn't have section, so it behavior incorrect, Only works with hugo server to host, say I try using hugo for github pages, it failed ( can't find sectoin url ).
Am I the only one encounter this issue?
version: Hugo Static Site Generator v0.69.2-EC9DCF30 linux/amd64 BuildDate: 2020-04-24T07:48:20Z
For example, for the following about section, It works with hugo server, but not working with a static http fileserver.
[[menu.main]]
    name = "about"
    pre = "<i class='fa fa-heart'></i>"
    weight = -110
    identifier = "about"
    url = "/about/"

I've just spent a few minutes reading hugo -h (and all subcommands), eventually I googled and ended up here. A hugo build alias would be useful.

I've spent 20 minutes figuring out that hugo without any argument is the way to build. This is just super counterintuitive. I've never seen any other tool work in this way...


geotransform and spatial_ref for orthorectification, not original data

According to the notebook, I see the geotransform and spatial_ref attrs are used for orthorectification. Note that GT[2] and GT[4] are zero in the attrs. So, does that mean we can only use geotransform and spatial_ref for orthorectified data?
Actually, I have tried to use pyresample's AreaDefinition to define the area. The derived lon/lat values are different from these in the location group of NC file. I suppose that's because these attrs from the NetCDF file only works for orthorectified data.
If I'm wrong, please feel free to correct me. I'm curious how to use geotransform and spatial_ref for original data, if that should work ...

Here's the code to reproduce:
import xarray as xr
from glob import glob
from pyresample.geometry import AreaDefinition

filename = 'EMIT_L1B_OBS_001_20230601T062832_2315205_005.nc'
ds = xr.open_dataset(filename)
ds_loc = xr.open_dataset(filename, group='location')

area_def = AreaDefinition('id', 'description', 'proj_id',
                          ds.attrs['spatial_ref'], ds.sizes['crosstrack'], ds.sizes['downtrack'],
                          [ds.attrs['westernmost_longitude'],
                           ds.attrs['southernmost_latitude'],
                           ds.attrs['easternmost_longitude'],
                           ds.attrs['northernmost_latitude']]
                          )

lons, lats = area_def.get_lonlats()

(ds_loc['lon']-lons).plot()

Yes, the geotransform and spatial ref are for the orthocorrected data.
When looking at the location group of the netcdf, the latitude and longitude values provided there are the pixel centers of the uncorrected, spatially raw (swath) data before gridding. The location group also includes a geometry lookup table (GLT), which is an orthocorrected product with a fixed pixel size on a WGS84 lat/lon grid. The geotransform and spatial_ref are for the GLT.
The GLT consists of 2 layers, glt_x, which contains the instrument crosstrack index from the swath dataset, and glt_y, which contains the instrument downtrack index. These allow you to use numpy indexing to place any of the L1 and L2 EMIT datasets (radiance, obs, reflectance, mask, mineralogy) into the GLT grid for the scene. This can be done with something like below, which is also included in the orthorectification notebook:
# Set filepath
fp =

# Open location group
loc = xr.open_dataset(fp, engine = 'h5netcdf', group='location')

# Create glt array
GLT_NODATA_VALUE=0
glt_array = np.nan_to_num(np.stack([loc['glt_x'].data,loc['glt_y'].data],axis=-1),nan=GLT_NODATA_VALUE).astype(int)
glt_array.shape

# Open Reflectance/Radiance
ds = xr.open_dataset(fp,engine = 'h5netcdf')
ds_array = ds['reflectance'].data
ds_array.shape

# Create Orthocrorrected Output Dataset
fill_value = -9999
out_ds = np.zeros((glt_array.shape[0], glt_array.shape[1], ds_array.shape[-1]), dtype=np.float32) + fill_value
valid_glt = np.all(glt_array != GLT_NODATA_VALUE, axis=-1)
# Adjust for One based Index
glt_array[valid_glt] -= 1
# Use indexing/broadcasting to populate array cells with 0 values
out_ds[valid_glt, :] = ds_array[glt_array[valid_glt, 1], glt_array[valid_glt, 0], :]

There is also more information about the file structure in the user guide.

Thanks a lot for your explanations, Erik. It's clear to me now and pyresample's results are as same as manually calculated lon/lat:
import xarray as xr
import numpy as np
import matplotlib.pyplot as plt
from pyresample.geometry import AreaDefinition

filename = 'EMIT_L1B_OBS_001_20230601T062832_2315205_005.nc'

ds = xr.open_dataset(filename)
ds_loc = xr.open_dataset(filename, group='location')

GT = ds.geotransform
dim_x = ds_loc['glt_x'].sizes['ortho_x']
dim_y = ds_loc['glt_x'].sizes['ortho_y']
lon = np.zeros(dim_x)
lat = np.zeros(dim_y)

for x in np.arange(dim_x):
    x_geo = (GT[0]+0.5*GT[1]) + x * GT[1]
    lon[x] = x_geo
for y in np.arange(dim_y):
    y_geo = (GT[3]+0.5*GT[5]) + y * GT[5]
    lat[y] = y_geo

area_def = AreaDefinition('id', 'description', 'proj_id',
                          ds.attrs['spatial_ref'], dim_x, dim_y,
                          [ds.attrs['westernmost_longitude'],
                           ds.attrs['southernmost_latitude'],
                           ds.attrs['easternmost_longitude'],
                           ds.attrs['northernmost_latitude']]
                          )

lons, lats = area_def.get_lonlats()

plt.imshow(lons - lon[None, :])
plt.colorbar()
plt.title('AreaDefinition lons - lon')

plt.imshow(lats - lat[:, None])
plt.colorbar()
plt.title('AreaDefinition lats - lat')


⚠ BCR Bot has degraded performance

In 3f038f5, BCR Bot (https://bcr.alternativasinteligentes.com/BCRApi/web/chatbot) experienced degraded performance:

HTTP code: 200
Response time: 1024 ms

Resolved: BCR Bot performance has improved in 8e8f52c.