Implement rules in darglint

https://pypi.org/project/darglint/

Darglint's primary focus is to identify incorrect and missing documentationd
of a function's signature. Checking style is a stretch goal, and is supported
on a best-effort basis.  Darglint does not check stylistic preferences expressed
by tools in the Python Code Quality Authority (through tools such as pydocstyle).
So when using Darglint, it may be a good idea to also use pydocstyle, if you
want to enforce style.  (For example, pydocstyle requires the short summary
to be separated from other sections by a line break.  Darglint makes no such check.)

Error Codes

DAR001: The docstring was not parsed correctly due to a syntax error.
DAR002: An argument/exception lacks a description
DAR003: A line is under-indented or over-indented.
DAR004: The docstring contains an extra newline where it shouldn't.
DAR005: The item contains a type section (parentheses), but no type.
DAR101: The docstring is missing a parameter in the definition.
DAR102: The docstring contains a parameter not in function.
DAR103: The docstring parameter type doesn't match function.
DAR104: (disabled) The docstring parameter has no type specified
DAR105: The docstring parameter type is malformed.
DAR201: The docstring is missing a return from definition.
DAR202: The docstring has a return not in definition.
DAR203: The docstring parameter type doesn't match function.
DAR301: The docstring is missing a yield present in definition.
DAR302: The docstring has a yield not in definition.
DAR401: The docstring is missing an exception raised.
DAR402: The docstring describes an exception not explicitly raised.
DAR501: The docstring describes a variable which is not defined.

Cool, I've never used but looks useful. Would this be an impactful plugin for you? Would it unblock any Ruff adoption? :)

Hey @charliermarsh, yeah. I maintain a few packages with public APIs that would benefit from contributors being informed about documentation for arguments or exceptions raised being missing.
A number of features would make Ruff a nice replacement for flake8: speed, compatibility with the rest of the Python ecosystem, pyproject.toml support.

FWIW, darglint is the main blocker [1] for us to migrate Poetry Cookiecutter [2] from flake8 to ruff.
[1] https://github.com/radix-ai/poetry-cookiecutter/issues/125
[2] https://github.com/radix-ai/poetry-cookiecutter

👍 Helpful to hear! darglint is probably the most popular unimplemented plugin. I'd like to get around to it soon. If there's a subset of rules that are most impactful, that'd be helpful to know too for prioritization.

If there's a subset of rules that are most impactful, that'd be helpful to know too for prioritization.

For me personally, they're probably DAR101, DAR102, DAR201, DAR202 and to a lesser extent DAR301, DAR302, DAR401 and DAR402

For me, I use darglint together with pydocstyle since they don't do quite the same thing. Having darglint absorbed into the ruff world would be really great.

We just discovered ruff in my team. It's amazing, and I'd like to thank you for all the great work !
We used to run flake8 along with darglint. Unfortunately since ruff does not yet implement darglint rules we still have to keep darglint alongside ruff which is unfortunate given how slow darglint is.
Reimplementing darglint within ruff is definitely the feature we are most looking forward to !
For us the most important rules are probably those related to the parameters (and returns) and their types: DAR101, DAR102, DAR103, DAR201, DAR202, DAR203 and DAR501.
Hope this helps !

Very helpful, thank you! It's not something I've started working on actively (and would make for a good contribution if there are any eager contributors reading this :)), but that set of rules at least is probably not too much work to support, and this issue has a lot of thumbs-up votes so I'll try to get to it soon-ish. I'll post here when I'm able to take it on.

Looking into starting on this. darglint has a lot of code because it defines entire grammars for the docstrings, and then lexes and parses according to those grammars. pydocstyle, on the other hand, does it all with regular expressions. Wondering if we could get away with the latter.

Super exciting to hear that this is in the works. We just switched to ruff instead of pydocstyle and are eager to replace darglint as well. Here are the error codes we are most interested (least overlap with pydocstyle):
DAR102: The docstring contains a parameter not in function.
DAR201: The docstring is missing a return from definition.
DAR202: The docstring has a return not in definition.
DAR301: The docstring is missing a yield present in definition.
DAR302: The docstring has a yield not in definition.
DAR401: The docstring is missing an exception raised.
DAR402: The docstring describes an exception not explicitly raised.
DAR501: The docstring describes a variable which is not defined.

It would be great if it could add darglint’s feature that checks if docstrings match a particular style (whether it be Sphinx, Google, or something else)

Implementing darglint could handle some flake8 exceptions, as well as part of docformatter I guess?

@charliermarsh Is there an update on implementing darglint features in ruff? Thanks for all of your work on this project!

Hey,
unfortunately darglint is unmaintained since December 2022. So I would be very happy to see something similar in ruff.
Thanks a lot for all your very good work!
fin swimmer

I'm currently considering taking this on as a project over the next few weeks, but it's competing with some other priorities so not a firm commitment yet :) I definitely hear that this something users want, and it's something I want Ruff to support too -- just a question of when, will post here when I have a clear decision.

Great to hear work is close to being started. We also rely a lot on darglint and are concerned about is current abandoned state, and were also looking to start using ruff, so it would be very good news if it can be a replacement for darglint. The rules that most often catch error in the documentation for us are:

DAR101: The docstring is missing a parameter in the definition.
DAR102: The docstring contains a parameter not in function.
DAR201: The docstring is missing a return from definition.
DAR202: The docstring has a return not in definition.
DAR301: The docstring is missing a yield present in definition.
DAR302: The docstring has a yield not in definition.
DAR401: The docstring is missing an exception raised.
DAR402: The docstring describes an exception not explicitly raised.

Hi @charliermarsh , after I raised this issue (https://github.com/charliermarsh/ruff/issues/4362), I looked into Darglint myself.  It was extremely slow, and it can actually be unusable for large projects.
Therefore I spent a few days writing a new tool, pydoclint, from scratch: https://github.com/jsh9/pydoclint
It currently supports numpy-style docstrings only, but I plan to add support for Google-style docstrings.
I did some benchmarking using my tool vs Darglint, and here's the result on linting these 2 famous Python projects:

pydoclint
darglint

numpy
2.0 sec
49 min 9 sec (1,475x slower)

scikit-learn
2.4 sec
3 hr 5 min 33 sec (4,639x slower)

So if you and/or your team is going to port the same functionality to ruff, I'd recommend that you either write things from the ground up in Rust, or check out how I implemented it in Python.

Since darglint is archived, I've forked it as darglint2. The purpose of that project is to maintain a drop-in replacement for darglint with any minimal bugfixes needed to keep it usable for old users who can't spend the effort to migrate to a faster alternative.

Hi @charliermarsh , after I raised this issue (#4362), I looked into Darglint myself. It was extremely slow, and it can actually be unusable for large projects.
Therefore I spent a few days writing a new tool, pydoclint, from scratch: https://github.com/jsh9/pydoclint
I did some benchmarking using pydoclint vs Darglint, and here's the result on linting these 2 famous Python projects:
pydoclint 	darglint
numpy 	2.0 sec 	49 min 9 sec (1,475x slower)
scikit-learn 	2.4 sec 	3 hr 5 min 33 sec (4,639x slower)
So if you and/or your team is going to port the same functionality to ruff, I'd recommend that you either write things from the ground up in Rust, or check out how I implemented it in Python.

Thank you so much @jsh9 for tackling this issue!
We've tried your tool along with Ruff in my team and it's very promising so far. We are very impressed that you managed to put it together so fast. For us the replacement of darglint and flake8 is crucial as they currently represent about 60% of our CI costs.
Having said that, I would like to provide some feedback based on our experience using pydoclint. While it has demonstrated great potential, we have encountered a few issues that prevent us from fully adopting it. One particular area that requires attention is the clarity of the error messages. In certain cases, the messages provided are not as informative or explicit as we would like them to be, making it difficult for us to identify the root cause of the issues. Another issue is the lack of ability to ignore some rules either project-wise or directly in the code.
Sadly we prefer waiting a bit for either pydoclint to be mature enough or for Ruff to implement darglint rules.

Hi @erwann-met , please feel free to submit new issues over at pydoclint, and I'll take a look.

Hi @charliermarsh! Just figured I check to see if there's an update on the darglint effort. Thank you again for all of your work!

... We already check that the docstring contains all function parameters ...

To clarify, this appears to be true only for Google style docstrings (see D417. I'd love for that to be available for sphinx rest style

@charliermarsh Figured I'd circle back on this feature request!

We will report back here if there is progress on this; we have not begun work on this — we have a lot of priorities as we grow!
I'm happy to review contributions of individual rules here.

fwiw, our setup for consistent google style docstrings using darglint and flake8-docstrings:
setup.cfg
[flake8]
ignore = B902,D10,E203,E501,W503
max-line-length = 88
inline-quotes = double
docstring-convention = google
max-cognitive-complexity = 10

[darglint]
strictness = short

.pre-commit-config.yaml
repos:
-   repo: https://github.com/psf/black
    # when updating this version, also update blacken-docs hook below
    rev: 23.1.0
    hooks:
    -   id: black

-   repo: https://github.com/asottile/blacken-docs
    rev: 1.13.0
    hooks:
    -   id: blacken-docs
        additional_dependencies: ['black==23.1.0']

-   repo: https://github.com/timothycrosley/isort
    rev: 5.12.0
    hooks:
    -   id: isort

-   repo: https://github.com/PyCQA/flake8
    rev: 6.0.0
    hooks:
    -   id: flake8
        additional_dependencies: [
            'darglint~=1.8.1',
            'flake8-absolute-import~=1.0',
            'flake8-blind-except~=0.2.0',
            'flake8-builtins~=2.1',
            'flake8-cognitive-complexity==0.1.0',
            'flake8-comprehensions~=3.2',
            'flake8-docstrings~=1.5',
            'flake8-logging-format~=0.9',
            'flake8-mutable~=1.2.0',
            'flake8-print~=5.0',
            'flake8-printf-formatting~=1.1.0',
            'flake8-pytest-style~=1.7',
            'flake8-quotes~=3.2',
            'flake8-tuple~=0.4.1',
            'pep8-naming~=0.11'
        ]

Switched from flake8 + black + darglint to ruff + pydoclint.
Note that for google style docstrings:

pydoclint needs additional config beyond style=google (below, see also discussion)
D407 needs to be disabled.

pyproject.toml
[tool.pydoclint]
style = "google"
arg-type-hints-in-docstring = false
check-return-types = false
check-yield-types = false
allow-init-docstring = true

[tool.ruff]
select = ["ALL"]
ignore = ["D407", "E501", "ANN", "TRY003", "D203", "D213", "D100", "D104", "D106", "FIX002", "ERA001", "RUF012"] # ignores: D407 (we have google style docstrings), E501 (we have black), ANN (we have mypy), TRY003 (there is EM102), D203 (there is D211), D213 (there is D212), D100,D104 (we don't publish publick readthedocs), D106 (we have Django Meta class that doesn't need a docstring), FIX002 (we have TD002,TD003), ERA001 (we sometimes leave code for reference), RUF012 (django is full of class vars that are lists or dicts)
target-version = "py311"

[tool.ruff.extend-per-file-ignores]
"__init__.py" = ["E401", "E402"]
"**/tests/**/*.py" = ["S101", "PT009"] # ignores: S101 (assert is fine in tests), PT009 (we use django unittest framework)
"**/migrations/*.py" = ["D101"]

.pre-commit-config.yaml
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
  rev: v0.1.0
  hooks:
  - id: ruff
    args: [--fix, --exit-non-zero-on-fix]
  - id: ruff-format

# should be replaced in the future ref https://github.com/astral-sh/ruff/issues/458
- repo: https://github.com/jsh9/pydoclint
  rev: 0.3.4
  hooks:
  - id: pydoclint

# should be replaced in the future ref https://github.com/astral-sh/ruff/issues/3792
- repo: https://github.com/asottile/blacken-docs
  rev: 1.13.0
  hooks:
  - id: blacken-docs
    additional_dependencies: ['black==23.10.0']

Hello @charliermarsh! I manage to convert almost all checks to ruff, except for Darling, do you have any idea whether this will be done?

As mentioned in Discord, registering my interest in taking a stab at this.

Using pydocstyle we are using the google style with typing. We strictly use typing in python, so repeating the types in the Doc string serves no purpose and is just redundant. Having rules like DAR103: The docstring parameter type doesn't match function. or DAR105: The docstring parameter type is malformed. certainly would help to keep Doc string and parameter declaration aligned, it's still redundant and we'd rather enforce that no types are specified in the Doc string. Seems darglint doesn't provide such a rule.

Hoping to see this as well! Ruff already encompasses most of my CI linting checks, this would be a great addition.
Meanwhile, in case it is useful for other people, I decided to take a stab and implement a version that is sufficient for my needs: https://github.com/AloizioMacedo/pystaleds.
It intends primarily to check for mismatches of the parameters in the function signature and the arguments in the docstring. It is very experimental, but I can already use it in my projects while ruff doesn't support a similar feature : )

we'd rather enforce that no types are specified in the Doc string

@Spenhouet fwiw pydoclint has an --arg-type-hints-in-signature flag ref https://jsh9.github.io/pydoclint/violation_codes.html
see also my config above

@ddelange Thanks for sharing, that would introduce a new tool just for this small requirement. Would much more prefer if this would be covered by a linting rule within ruff.

Just wanted to add my voice to those saying that this would be a really useful feature. Thanks for all the amazing work on Ruff!

I wonder if at this point, it would be better to implement pydoclint in ruff instead of darglint? (This is prompted by the recent PR #11471.)
Pydoclint has

more error codes (e.g., DOC104 in pydoclint checks for the order of the parameters; darglint doesn't have that AFAICT) and
more config options (like arg-type-hints-in-signature which lets you decide whether you want to include types in the docstring),
and the config options of pydoclint also seem more well-thought-out to me than darglint's. (E.g., pydoclint has skip-checking-short-docstrings which makes sense to me, but darglint's strictness=short vs strictness=long is a bit confusing)

I wonder if at this point, it would be better to implement pydoclint in ruff instead of darglint? (This is prompted by the recent PR #11471.)
Pydoclint has

more error codes (e.g., DOC104 in pydoclint checks for the order of the parameters; darglint doesn't have that AFAICT),
more config options (like arg-type-hints-in-signature which lets you decide whether you want to include types in the docstring),
and the config options of pydoclint also seem more well-thought-out to me than darglint's. (E.g., pydoclint has skip-checking-short-docstrings which makes sense to me, but darglint's strictness=short vs strictness=long is a bit confusing)

Strong +1 for this. pydoclint is really great and pretty fast already, but ruff could improve on this and extend it further. Also some issues might be autofixable.

Are there rules that are present in darglint but not pydoclint?

Interesting, ok. Those are the exact rules added in https://github.com/astral-sh/ruff/pull/11471.

Are there rules that are present in darglint but not pydoclint?

I know of at least two:

DAR401: The docstring is missing an exception raised.
DAR402: The docstring describes an exception not explicitly raised.

These two rules are the only reason we use darglint, everything else that we want is covered by pydoclint.

I'm the author of pydoclint.
I think these two pydoclint violation codes cover DAR401 and 402:

Code
Explanation

DOC501
Function/method has “raise” statements, but the docstring does not have a “Raises” section

DOC502
Function/method has a “Raises” section in the docstring, but there are not “raise” statements in the body

If they don't cover what you want, please feel free to open an issue.

@jsh9 I don't think those check the exception types. For example, if I have a function like this, which sometimes raises a ValueError, but incorrectly document that it raises a ZeroDivisionError, darglint will report the problem while pydoclint won't:
def _str_to_bool(informal_bool: str) -> bool:
    """
    Translate a commonly used boolean ``str`` into a real ``bool``.

    Args:
        informal_bool: A boolean represented as ``str``, like ``"true"``, ``"no"``, ``"off"``, etc.

    Returns:
        ``True`` or ``False`` to match the intent of ``informal_bool``.

    Raises:
        ZeroDivisionError: This doesn't look like enough like a ``bool`` to translate.
    """
    if informal_bool.lower() in ('true', 't', 'yes', 'y', 'on', '1'):
        return True
    if informal_bool.lower() in ('false', 'f', 'no', 'n', 'off', '0'):
        return False
    raise ValueError(f"{informal_bool} doesn't look like a boolean")  # pragma: no cover

$ darglint nt2
nt2/casters.py:_str_to_bool:29: DAR401: -r ValueError
nt2/casters.py:_str_to_bool:39: DAR402: +r ZeroDivisionError

$ pydoclint nt2
Loading config from user-specified .toml file: pyproject.toml
No config found in pyproject.toml.
Skipping files that match this pattern: \.git|\.tox
nt2/__init__.py
nt2/casters.py
nt2/converters.py
nt2/dumpers.py
nt2/ui.py
nt2/yamlpath_tools.py
🎉 No violations 🎉

Thanks @AndydeCleyre !
I've opened a new issue (https://github.com/jsh9/pydoclint/issues/158) on pydoclint to add this feature.


Replace count(1) with a call to the schema table when computing number of rows

In csv_to_datbase:

here
& here

Schema table is this little duckling: https://mariadb.com/kb/en/information-schema-tables-table/
We use InnoDB so it's just an estimate, but we're only using it for log output so that's probably fine.

Fixed in #425


Feature request: bar code generator

Is your feature request related to a problem? Please describe.
There is a feature in CyberChef to generate QR codes. I would appreciate if there was a feature to generate also other such codes, bar codes in this case.
Describe the solution you'd like
There is a javascript library to perform the task not needing any additional libraries - JsBarcode. I am unaware though how to implement it not being aware of the CyberChef background.
Describe alternatives you've considered
N/A
Additional context
N/A

+1


"clear screen" button

Hi, great work, my 6 years old son loves it.
Have you planned to make a "clear screen" button?
I know it is possible with the CS command, but it would be more intuitive for a child.

Thank you for suggestion.. good idea.. I 'll add it whenever I have some time.

@batdevis   added "CS" Button in v0.17 - but requires Google to review it - should be updated in the following days.

@DoctorLai you're great!

Thank you


Position of sort icon in header

Hello Thanks for your amazing library. Its flexibility is very good and developer friendly. I have one question:
Is it possible to change the position of sort icon from left to right?
We can change the icon easily but I was not able to change the position of the icon.
Kindly let me know if the solution is already available or any work around to change the position of the icon in header.
Thank you.

Hi @umarhussain15,
thank you! I'm glad you like my library.
Do you want to have the icon on the right side in the context of RTL support or do you simply prefer to have the icon on the right?
Best regards,
Ingo

Hello,
I want to have the option of having icon on either side, by using some attribute or using code.
For my use I only needed icon on right side, so I changed the layout in my local copy of code, to change the position of icon.
This can be an enhancement as you added the label to the issue.
Thank you.


fix: EXCEPT not handled well

closes: https://github.com/shssoichiro/sqlformat-rs/issues/35

Thanks!


Remove Bitbucket beta and mention broker

Change to FAQs: https://deploy-preview-795--roadie.netlify.app/faqs/
Change to free trial page: https://deploy-preview-795--roadie.netlify.app/free-trial/
Change to request demo page: https://deploy-preview-795--roadie.netlify.app/request-demo/

https://app.shortcut.com/larder/story/9752/marketing-site-improvements


add Bamboo logo

https://atlassian.design/guidelines/marketing/resources/logo-files

Added in 1b9dd05b1231ffe54e12106a462102875fa88ed4


fix the question,when first login with wrong password always show Acc…

when I first login with wrong password has this:
Throttling submission from [<IP_ADDRESS>]. More than [0.3333333333333333] failed login attempts within [3] seconds. Authe
ntication attempt exceeds the failure threshold [1]
the code in DefaultBucketConsumer  is
public BucketConsumptionResult consume() {
val availableTokens = this.bucket.getAvailableTokens();
val canProceed = FunctionUtils.doAndHandle(() -> {
if (properties.isBlocking()) {
LOGGER.trace("Attempting to consume a token for the authentication attempt");
return bucket.tryConsume(1, MAX_WAIT_NANOS, BlockingStrategy.PARKING);
}
return bucket.tryConsume(1);
}, e -> {
LoggingUtils.error(LOGGER, e);
Thread.currentThread().interrupt();
return false;
}).get();
    val headers = new LinkedHashMap<String, String>();
    if (canProceed) {
        val probe = this.bucket.tryConsumeAndReturnRemaining(1);
        val seconds = TimeUnit.NANOSECONDS.toSeconds(probe.getNanosToWaitForRefill());
        headers.put(HEADER_NAME_X_RATE_LIMIT_RETRY_AFTER_SECONDS, Long.toString(seconds));
        LOGGER.warn("The request is throttled as capacity is entirely consumed. Available tokens are [{}]", availableTokens);
        return BucketConsumptionResult.builder().consumed(false).headers(headers).build();
    }
    headers.put(HEADER_NAME_X_RATE_LIMIT_REMAINING, Long.toString(availableTokens));
    return BucketConsumptionResult.builder().consumed(true).headers(headers).build();
}

but I find 6.4.x and 6.3.x ,the code in Bucket4jThrottledRequestExecutor  is
@Override
public boolean throttle(final HttpServletRequest request, final HttpServletResponse response) {
var result = true;
    val availableTokens = this.bucket.getAvailableTokens();
    try {
        if (this.blocking) {
            LOGGER.trace("Attempting to consume a token for the authentication attempt");
            result = !this.bucket.tryConsume(1, MAX_WAIT_NANOS, BlockingStrategy.PARKING);
        } else {
            result = !this.bucket.tryConsume(1);
        }
    } catch (final InterruptedException e) {
        LoggingUtils.error(LOGGER, e);
        Thread.currentThread().interrupt();
    }
    if (result) {
        val probe = this.bucket.tryConsumeAndReturnRemaining(1);
        val seconds = TimeUnit.NANOSECONDS.toSeconds(probe.getNanosToWaitForRefill());
        response.addHeader(HEADER_NAME_X_RATE_LIMIT_RETRY_AFTER_SECONDS, Long.toString(seconds));
        LOGGER.warn("The request is throttled as capacity is entirely consumed. Available tokens are [{}]", availableTokens);
    } else {
        response.addHeader(HEADER_NAME_X_RATE_LIMIT_REMAINING, Long.toString(availableTokens));
    }
    return result;
}

6.5.x use if (!canProceed)  but  6.4.x and 6.3.x use  if (result)
when i remove "!"  is work  correctly.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.qiyf seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

这是来自邮箱的自动回复邮件。您好，您的邮件已收到，如有需要本人会尽快回复。


Vendor API updates for international addresses

Context
Candidates who live overseas need to provide postal address in a localised format so that providers can contact them by post.
The upstream PR https://github.com/DFE-Digital/apply-for-teacher-training/pull/2320 implements the main part of this feature. This PR just updates the Vendor API so that vendors have access to international addresses.
Changes proposed in this pull request

[x] Update the SingleApplicationPresenter to serialize international addresses - the address body is output to the address_line1 field to avoid making any significant changes to the schema.
[x] Update schema to allow nil values for UK-specific address fields.
[ ] Update release notes.
[ ] Rebase onto master

Guidance to review

This is designed to be a non-breaking change to the API and vendor applications. Is this true?

Link to Trello card
https://trello.com/c/BUYJXkju/1735-extend-vendor-api-to-support-international-addresses
Things to check

[x] This code doesn't rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[ ] API release notes have been updated if necessary
[x] New environment variables have been added to the Azure config

Approach looks good. Should we add a description to ContactDetails or the address_line_1 field (or both) explaining what the policy is?


Use our own maven rather than fabric's

Since it's a bit rude to use fabric's for user installation.
This affects the installer JSONs and the buildscript, although ideally we'd re-publish all older version jsons to replace https://maven.fabricmc.net/ with quilt's maven. A temporary solution may be to make the installer replace these values?
Until quilt's maven has got functionality to mirror fabric's and OW2 we could switch to mine, since I've fully mirrored the parts of those that we use - https://alexiil.uk/maven. (You can test this just by replacing those values in the installer json and deleting the libraries from multimc's cache, for example).

I actually support republishing all the old version JSONs! Not only because of the Maven change, but also in order to do other changes that would need republishing the JSONs (an example that comes to mind is migrating the Intermediary dependency to use Tiny v2, which I should perhaps open a discussion about it)

I actually support republishing all the old version JSONs! Not only because of the Maven change, but also in order to do other changes that would need republishing the JSONs (an example that comes to mind is migrating the Intermediary dependency to use Tiny v2, which I should perhaps open a discussion about it)

I Have Idea, If have Mirror Brain Server, Then Client Downloading will Request Access https://maven.fabricmc.net/, Server will detect User`s IP location, In the End will be redirect to the Nearest Servers.
This is Best Solutions For Now Downloading Slowing.


Chunked (large) item support

Work in progress PR for chunked item support. As of writing this is largely functional, but is incomplete and may need a refactor.

What is large item support?

Items have always required a single chunk large enough to hold its header, key, and data. This is done via a slab allocator, which is split into many sized slabs. The "largest available slab", became the largest item you could store into memcached. This is where the 1 megabyte limit came in.
The larger the item size limit, the less efficient the slab allocator is, as there is more space between slab classes.
With this change, the max slab chunk size is decoupled from the max item size, and items larger than the max chunk size now consist of multiple chunks chained together.
This has a number of benefits:

Performance is nearly identical, as larger items will fill bandwidth much earlier than small items.
The max slab class size can be much smaller (I've been settling toward 16k after testing), down from 1mb. This means the rest of the slab classes can be closer together.
Since larger items use data at a much smaller granularity (ie 16k), they have less memory overhead than before.
The item size max can be hundreds of megabytes without any major impact.

There are some downsides:

It complicates the slab allocator a bit and adds a few extra code paths in reading/writing items.
Freeing a single item no longer guarantees enough memory to store a new single item. Pulling chunked items to free will need some careful tuning. This may not be awful considering very small items will continue to be 1:1, and the number of loops necessary to free memory for large items is reasonable given the bandwidth required to store them.

The current status

This largely works. It's been bench tested but not torture tested. Some tests have been written and I've fiddled with it manually for a while. There's a decent amount of code left to write, and I feel like it might need a little rewriting or simplification. This implementation is making the deep slab allocator more aware of how items are structured which feels like a layer violation: items.c should instead ask the slab allocator for a specific number of chunks, but then we might have to loop through them twice, or pass a callback function into the slab allocator to initialize the chunks. Moving more of the implementation up to the item layer would allow it to more intelligently garbage collect when freeing up chunks for a new chunked item as well.
Could use some feedback on any obvious bugs I've left in.
Work remaining:

[ ] Write more tests (+ fix more existing tests + tests for 00-startup.t)
[x] Protect binary sasl auth from getting a chunked item
[x] Implement chunked-aware append/prepend commands
[x] Implement chunked-aware slab page mover. This is also complicated.
[ ] Test using readv to reduce number of read() syscalls on store.
[x] Run burn-in test
[ ] Run burn-in tests on very large items (hundreds of megabytes)
[x] Clean out debug code
[ ] Any useful stats that could be added? Something to indicate how many large items have been seen, at least.

It's been passing the burn-in tests, finally.
Just did some cleanup and pushed the rebalancer updates, which were very challenging. Normally when updating the slab rebalancer I spend several hours drawing out interactions; I did not do that this time and suffered for it.
Most of the pain was preserving the (recent!) ability of the slab rebalancer to avoid evicting items when it has some free chunks in the slab class. The magic trick now extends to being able to rescue individual chunks from within an item: If a large, chunked item has a chunk that spans into a slab page that needs to be moved, the chunk can be swapped out with free memory without evicting or rewriting the entire item. If no free memory is available the entire item gets removed, of course.
This is going to need some refactoring once it's had time to sink in: There're too many layer violations between memcached.c, items.c, and slabs.c, but thinking through all of this on a higher level has given me ideas for the future.
More test cleanup is needed, then several runs through the buildbots and a looped-test to kick out some flaky tests. I'm low on TODO's so this should be very close to ready.


"Equals" and the comparison operators should be overridden when implementing "IComparable"

Describe the feature
SonarQube has a rule that "Equals" and the comparison operators should be overridden when implementing "IComparable".
The following operator overloads are still missing in value objects generated by Vogen: <, <=, >, >=
It's a minor thing, but it would be great if Vogen could generate missing operator overloads too.

Hi @shupoval - thanks for the feedback. There's is a lengthy thread here about the same issue, so I'll close this one. In that thread you can see how to turn off IComparable if you don't need, thereby silencing SonarQube.
Thanks again!

Oh, my mistake. I apologize for not checking the backlog for a similar issue.
Thanks a lot for pointing me in the right direction.


Action input in Active Dead Reckoning task

Hello again!
I am attempting the active actuation with noisy dead-reckoning task (challenge 3 and 6).
I encounter an issue on my end with the robot seemingly moving randomly when given the action command.
To illustrate this, I am giving the robot constant 45.0 move_angle input, and this is a gif showing what happened on my BenchBot simulator
move_angle gif
(I apologize for the rather large file size)
This is what happens when I give the robot a constant 1.0 move_distance
move_distance gif
Sometimes the robot doesn't even move at all, and it becomes almost impossible to move the robot around the scene.
Best regards.

I had no issue moving the robot in Active with ground truth localization mode

Thanks for reporting @antabangun . Certainly doesn't look like correct behaviour.
We will investigate on our end and see what we find.

Apologies for the massive delay on fixing this issue.  We found that the error stemmed from multiple bugs in generating noisy odometry that we had to implement quickly when transitioning into Isaac Sim Omniverse.
These have now been addressed with the latest release of our benchbot_robot_controller (v2.5.0).
A fresh benchbot_install should now properly allow for active dead reckoning with noisy pose data and noisy movement (i.e. movement based on estimated change in pose rather than true change of pose)


multi thread for addPoint?

The commit of apoorv-sharma support multi threads for addPoint?
Will this patch reduce the time of the building a hnsw graph?

Hello @WaterElapse,
The addPoint supported multithreaded writes before my commit.
In my commit, I have added support for performing true vector updates in multi-threaded manner i.e for an existing point in the index you can change the vector associated with it by modifying the graph in memory, without needing to rebuild the index from the scratch.
As part of the commit, I have also fixed a bug that existed while adding points. This fix should provide marginal improvements in the build time for hnsw graph.

@apoorv-sharma What bug did you fix?

While building the index, farthest point was being selected at each level as the entry point for the next level. I fixed the code to select the nearest point.


Autocomplete suggestion for GDScript's $'MyNode' can suggest wrong syntax

Godot version
4.0 beta 10
System information
Ubuntu 22.04.1 LTS
Issue description
If your node has ' in its name, autocomplete might still suggest single quotes which results in an error.

Steps to reproduce

Add a child and name it Juan's pancakes
Add a script and type $'

Minimal reproduction project
N/A

This error is repeated where there is autocomplete in () with quotes. An extra quotation mark appears. I didn't have single quotes in the node name.

Thanks!


Add workbench.action.openPanel command

workbench.action.togglePanel already exists for toggling the integrated terminal. Having a keybinding that always opens the terminal would be useful for macros. For example, a macro with two commands:

Open terminal
Run command

Currently, you can only toggle the terminal, so depending on if it's open or not, it might first close the terminal and then run the command.

workbench.action.terminal.focus will open the terminal if it is closed, and not toggle it if already open.  Should work for you.

@ArturoDent That works perfectly. Thank you so much!
Closing this issue.


Azure Static Webapps / Functions Adaptor

Is your feature request related to a problem?
I would live to deploy my Qwik application with SSR to Azure Static Web Apps.
Describe the solution you'd like
Create an adaptor and middleware to run SSR on Azure Static Web Apps.
Describe alternatives you've considered
Have tried to create an external adaptor (as a separate NPM package) - I think this is currently not possible/easy to do.
Additional context
Most frameworks have an adaptor for Azure Static Web Apps (or Azure Functions):

Next.js: https://learn.microsoft.com/en-us/azure/static-web-apps/deploy-nextjs-hybrid
Nuxt.js: https://learn.microsoft.com/en-us/azure/static-web-apps/deploy-nuxtjs
SvelteKit: https://github.com/geoffrich/svelte-adapter-azure-swa
Remix: https://github.com/remix-run/remix/pull/2521

I have a basic working adaptor for Azure SWA in this branch: https://github.com/derkoe/qwik/tree/azure-swa

I would love to merge Azure support, it's unlikely we can find time from the core team to get this done, but if it's community driven, we will be happy to merge it and support it in our CLI

I'm just in the process of testing everything and cleaning up the code then I'll create a PR


UI API not exposed

I need access to getItemByFileId() in the UI API but it doesn't seem to be exposed by fine-uploader-wrappers. The UI API is everything from addExtraDropzone() down on the Traditional API page.
https://docs.fineuploader.com/branch/master/api/methods.html#addExtraDropzone
I'm assuming this in a fine-uploader-wrappers issue as it creates the .methods property.

There is no UI API to expose, because there is no UI. The expectation is that you build your own UI to fit your app using the core features of Fine Uploader.


Avro or KeyValue Schema throws exception in PulsarRecordCursor

Describe the bug
Avro or KeyValue Schema throws exception in PulsarRecordCursor
java.lang.NullPointerException: undefined
at org.apache.pulsar.sql.presto.PulsarRecordCursor.advanceNextPosition(PulsarRecordCursor.java:493)
at io.prestosql.spi.connector.RecordPageSource.getNextPage(RecordPageSource.java:90)
at io.prestosql.operator.TableScanOperator.getOutput(TableScanOperator.java:302)
at io.prestosql.operator.Driver.processInternal(Driver.java:379)
at io.prestosql.operator.Driver.lambda$processFor$8(Driver.java:283)
at io.prestosql.operator.Driver.tryWithLock(Driver.java:675)
at io.prestosql.operator.Driver.processFor(Driver.java:276)
at io.prestosql.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:1075)
at io.prestosql.execution.executor.PrioritizedSplitRunner.process(PrioritizedSplitRunner.java:163)
at io.prestosql.execution.executor.TaskExecutor$TaskRunner.run(TaskExecutor.java:484)
at io.prestosql.$gen.Presto_332__testversion____20210805_035216_2.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)

Could you provide more details? Such as how to reproduce this issue, which Pulsar version.
I'll try to use Avro and KeyValue schema to reproduce this issue.

The unit test here could help you to reproduce the error if you can give it a try https://github.com/eaba/SharpPulsar/blob/dev/Tests/SharpPulsar.Test.SQL/SqlTests.cs

Could you provide more details? Such as how to reproduce this issue, which Pulsar version.
I'll try to use Avro and KeyValue schema to reproduce this issue.

Pulsar 2.8.0

I think the root cause is the message metadata is lake of schemaVersion property. You could change the message serialization method to add schema version in message metadata.

@gaoran10 thanks. Null schemaversion was the problem. I have it fixed now.
Thanks a lot!!

thank you @gaoran10 for looking into this !


Wrong mime type to open .csv file with onlyoffice app

Checklist

[X] I have used the search function to see if someone else has already submitted the same bug report.
[X] I will describe the problem with as much detail as possible.

App version
6.400
Where did you get the app from?
None
Android version
12
Device model
Fairphone 4
Steps to reproduce

Use Onlyoffice android app as défault text editor of the mobile
receive a mail with a .csv attached
Try to open it directly in k9 mail (not save the file)
Have the message unsupported format

Expected behavior
Open the .csv doc like the other format.
Actual behavior
Error message when we open a .csv. That work's when we save the file on the phone and reopen after.
Logs
Onlyoffice has debug this and say this "It is related to the fact that K9 sends a non-standard mime-type."

When opening an attachment for viewing, K-9 Mail passes the MIME type from the email to Android. If that doesn't work, chances are the sender of the email used the wrong MIME type.
When the file is saved first, this MIME type is often ignored by the system.


Unleet won't work at all

I get this error whenever I use the package. Is there anything I can do, or is this a bug?

Looking into it now.

Looking into it now.

Preparing release.

Preparing release.

There's a new release up now that will better handle null input.
The unleet function accepts string values as input.  For best results, make sure to pass a string value to the function.
Thanks for the issue report!

There's a new release up now that will better handle null input.
The unleet function accepts string values as input.  For best results, make sure to pass a string value to the function.
Thanks for the issue report!


I can't find the package on sublime text 2

I have all of the updates for Sublime Text 2 and the application is registered with a license but after doing Install Package and then searching for Javascript Next i see no results. Am i missing a step?

Duplicate #114

No idea, it works fine for me. It's called JavascriptNext - ES6 syntax here.

ahhh I guess i already had it installed >.<


4K movie screenshot failed

I dragged the 4K HDR format movie into the software, the screenshot was gray and white and accompanied by tearing, I changed the SDR format to capture no images

I am sorry to hear that your 4K HDR format did not work. I assume that this might be a format not supported by MoviePrint. I have unfortunately no time to update the project anymore. MoviePrint uses a version of ffmpeg (v3.4.2) which might not support this. Please use a conversion tool to bring it into a supported format.


Add only_return_final=True for improved efficiency

The LSTM example in text generation seems to use only the final sequential output. This PR sets the only_return_final parameter to True, which offers improved efficiency if intermediate outputs aren't required.

This looks wrong. Did you compare the results? If the first layer already returns the final state only, there's nothing the second layer can scan over. And the SliceLayer should be omitted.

Yeah I haven't tested this, but I think a better change would be to get rid of the SliceLayer - using the loss from every timestep will change things a bit, but it will train much faster.

Thanks for the review! Extremely sorry about that, my bad. I have made the following changes:

The first layer should not return only the final state. I have updated my first commit to reflect this. Not sure how I missed that, sorry.
Indeed, the SliceLayer is no longer required. I have added in a commit making this change. I have also only commented out the SliceLayer, and explained why it is not required. Could you please let me know if I should remove these lines completely instead?

I have gone on to time the earlier implementation and the slightly modified one this PR proposes.
There does seem to be some performance improvement, but it is extremely small- I observed an average speedup of around 0.25%.

I'm not too familiar with the RNN layers, but I think the performance makes sense - all the intermediate values still need to be calculated even if they aren't returned. The docs refer to a memory usage benefit from only_return_final, not performance.
The optimization I was referring to would be to use the outputs from every step in calculating the loss, which should reduce the number of iterations for convergence roughly by a factor SEQ_LENGTH. However, it's a bit different since the earlier outputs can't be backpropagated as far. Also it would probably be necessary to carry the hidden states from batch to batch. There's an example of doing it this way here, but changing all that would be a bit much for this PR.
If you can go ahead and make the comment changes, I think this is good - even if it's not faster, using only_return_final makes it a bit clearer.

@ebenolson Ah, indeed. I had automatically assumed that you were referring to optimization in terms of time and not memory with respect to only_return_final.
I also now understand the optimization you were referring to with respect to improving convergence. I got a little confused, and assumed that by "train faster" you meant less time per epoch and not less number of epochs overall due to faster convergence. My bad!

LGTM, but the two commits need to be squashed. The first commit alone doesn't do anything useful, because the slice layer will slice out a single hidden unit then.

Ah yes, I agree. I've squashed them up now.

Oh, seems this one was forgotten -- everything looks good, merging!


Added designated initializer / detection of audio item type / gitignore

Set the gitignore file to exclude all recommanded files/extensions
according to
https://github.com/github/gitignore/blob/master/Objective-C.gitignore

I thought it's a good idea to add a designated initializer to AFSoundItem. It just needs an NSURL to be passed in and is responsible for detecting the current state - AFSoundItemTypeLocal, AFSoundItemTypeStreaming, AFSoundItemTypeUnknown.
Hence you can init an AFSoundItem like this:
`AFSoundItem *item1 = [[AFSoundItem alloc] initWithRessource:[[NSBundle mainBundle] URLForResource:@"demo1" withExtension:@"mp3"]];`

and like this:
`AFSoundItem *item1 = [[AFSoundItem alloc] initWithRessource:[NSURL URLWithString:@"http://path/to/file.mp3"]];`

Let me know what you think?! :)

@AlvaroFranco What do you think about that pull request?


frame issue

Please fix hard-coded width frame size
//PickerView Container with top bar
_pickerContainerView = [[UIView alloc] initWithFrame:CGRectMake(0.0, _pickerViewContainerView.bounds.size.height - 260.0, [[UIScreen mainScreen]bounds].size.width, 260.0)]; // before width was 320.0

it appears this project hasnt been maintained in over 3 years, i have a fork with a working fix here
if your using cocoapods, you can also use

pod 'MMPickerView', :git => 'https://github.com/multinerd/MMPickerView.git'

Thank you :)


Make the actions control button look like an actual button

Follows #24595

Before

After

Can you add a bit more margin on the right side of the icon? Adding class gt-mr-2 should suffice.

Can you add a bit more margin on the right side of the icon? Add class gt-mr-2 or gt-mr-3 to the SVG.
PS: It would help if you screenshot the whole header row in such a case instead of just the button.

Can we have a framework level support for such buttons with icons?
I really don't want to see a lot of gt-mr in such elements, and we shouldn't spend time on telling everyone to add margins.

Can we have a framework level support for such buttons with icons?

I'm not sure how because CSS can not target text nodes.

Button with SVG+text needs margin-right on SVG
Button with SVG needs no margin
Button with text+SVG needs margin-left on SVG

For this point, I would say Fomantic UI does well, developers only needs to copy their official HTML code, the icon and text are aligned properly.
I believe we can also do so or similar , to make Gitea's frontend easier to maintain and reduce unnecessary (regression) bugs, and save everyone's time.

It's not so easy. We have for example go templates and these vue templates, which have different syntax. If a general solution for such margin is possible, I'm happy to add it but I don't see it here because of the text node problem.

It's not so easy. We have for example go templates and these vue templates, which have different syntax. If a general solution for such margin is possible, I'm happy to add it but I don't see it here because of the text node problem.

How does other front-end frameworks handle such problem?
I do not believe that they force developers to add margins for button icons one by one manually.

How does other front-end frameworks handle such problem?

The frameworks I know have specific props for left/right icon, which is a luxury which we do not easily have with plain HTML as you're not passing props, but actual HTML structure.

Based on this screenshot,

it looks like the button is glued to the end of the title, right? Can we move it to the far right with some flexbox help?

Like this? It's far
How about you take over this PR?

Yes, like that. Add a bit more margin on top to the parent and it will look fine.
I can't take over action PRs yet as a I have not set up a runner locally, but I plan to do soon.

Like this? Added margin top

Updated screenshots in PR description

How does other front-end frameworks handle such problem?

The frameworks I know have specific props for left/right icon, which is a luxury which we do not easily have with plain HTML as you're not passing props, but actual HTML structure.

What about: <button>{{svg ... "left-icon"}} .... </button> and <button> xxxxx {{svg ... "right-icon"}} </button>?

How does other front-end frameworks handle such problem?

The frameworks I know have specific props for left/right icon, which is a luxury which we do not easily have with plain HTML as you're not passing props, but actual HTML structure.

What about: <button>{{svg ... "left-icon"}} .... </button> and <button> xxxxx {{svg ... "right-icon"}} </button>?

Yes, this can work. For eas of use, I would only require the class when the icon is right-aligned.

How does other front-end frameworks handle such problem?

The frameworks I know have specific props for left/right icon, which is a luxury which we do not easily have with plain HTML as you're not passing props, but actual HTML structure.

What about: <button>{{svg ... "left-icon"}} .... </button> and <button> xxxxx {{svg ... "right-icon"}} </button>?

Yes, this would work. Still I wonder if there maybe is a CSS-only solution, likely not though.

Yes, load all SVG icons for frontend (statically or dynamically), and use custom elements.


AWS NOAA WHOI

A recipe for AWS NOAA WHOI Sea Surface Temperature, one of the three resources made available as part of NOAA's Oceanic Climate Data Records (see: https://registry.opendata.aws/noaa-cdr-oceanic/)
File pattern identified and tested both using pruned recipe feature, as well as running on three months worth of data. Output looks correct and as expected.
Closes out issue: https://github.com/developmentseed/aws-asdi/issues/21

/run aws-noaa-sea-surface-temp-whoi

@kathrynberger Could this be failing because there needs to be a requirements.txt in the recipe folder? for s3fs ? I needed to install that locally to get the recipe to run. I've seen some other recipes include a requirements.txt, like this one https://github.com/pangeo-forge/staged-recipes/pull/220/files
if this is the issue, maybe it'd be good to include adding an optional requirements.txt as a step in https://pangeo-forge.readthedocs.io/en/latest/pangeo_forge_cloud/recipe_contribution.html ?

Thanks for jumping in @rbavery!
Gosh, I've really got to resolve https://github.com/pangeo-forge/pangeo-forge-orchestrator/pull/150, without which it's basically impossible for community members to debug these errors. 🙃
So the cloud workers definitely have s3fs by default. A requirements.txt would be for more exotic requirements. (Unless something really major has changed in the last month that I missed!)
Looking at the backed logs, I'm seeing:
File "/srv/conda/envs/notebook/lib/python3.9/site-packages/pangeo_forge_recipes/recipes/reference_hdf_zarr.py", line 30, in scan_file
    with file_opener(fname, **config.netcdf_storage_options) as fp:
  File "/srv/conda/envs/notebook/lib/python3.9/contextlib.py", line 119, in __enter__
    return next(self.gen)
  File "/srv/conda/envs/notebook/lib/python3.9/site-packages/pangeo_forge_recipes/storage.py", line 283, in file_opener
    with opener as fp:
  File "/srv/conda/envs/notebook/lib/python3.9/site-packages/fsspec/core.py", line 103, in __enter__
    f = self.fs.open(self.path, mode=mode)
  File "/srv/conda/envs/notebook/lib/python3.9/site-packages/fsspec/spec.py", line 1094, in open
    f = self._open(
  File "/srv/conda/envs/notebook/lib/python3.9/site-packages/fsspec/implementations/local.py", line 175, in _open
    return LocalFileOpener(path, mode, fs=self, **kwargs)
  File "/srv/conda/envs/notebook/lib/python3.9/site-packages/fsspec/implementations/local.py", line 273, in __init__
    self._open()
  File "/srv/conda/envs/notebook/lib/python3.9/site-packages/fsspec/implementations/local.py", line 278, in _open
    self.f = open(self.path, mode=self.mode)
RuntimeError: FileNotFoundError: [Errno 2] No such file or directory: '/home/jovyan/noaa-cdr-sea-surface-temp-whoi-pds/data/1988/SEAFLUX-OSB-CDR_V02R00_SST_D19880102_C20160820.nc' [while running 'Start|scan_file|Reshuffle_000|finalize|Reshuffle_001/scan_file/Execute-ptransform-56']
"

/run aws-noaa-sea-surface-temp-whoi

@sharkinsspatial reports that the test data looks good, so I'll merge this.


Special half-integer branch for besselk

Here is a PR that closes the discussion of #25. I've tried to format things in a way that is consistent with the rest of the code in terms of four space tabs, not lining up the equals signs, putting the two consts into the appropriate file, and adding tests. But I'm sure there's something I missed so please let me know what should be fixed.
I recognize that having another check of isinteger(nu-1/2) in every Bessels.besselk call is probably not super exciting to you guys, but at least for stat people it is a branch that will get hit often and the speedup is pretty nice.
After getting the hang of making these PRs with this easy one I'll follow up and make another one for the asymptotic expansion to use in the case of small nu and large x, which I think will have some convincing speed gains.

I see that one test is failing, but it doesn't have to do with the code in this PR and all tests relevant to this new code pass. I'm not really sure how to handle that.

Thanks for contributing this!!! A few general ideas on how we want to handle this. Because this is so linked to the modified spherical bessel functions it would also be nice to have those defined. I've already given routines for the regular spherical bessel functions (https://github.com/JuliaMath/Bessels.jl/blob/master/src/sphericalbessel.jl) so having these linked would be nice (but probably in a separate PR).
I guess having to call something like sphericalbesselk to get specialized half order routines is not ideal? For your applications it is typically standard to use the half integer of besselk? One thing is I currently don't have a branch for half integer order for besselj and bessely I just assume that if you want those you can call sphericalbesselj instead. But either way it is probably good to be consistent (I'm open to either).
One thing is for very large orders it's probably more efficient to use the asymptotic expansion? I have defined something similar at (https://github.com/JuliaMath/Bessels.jl/blob/0302204fa33829d96dbbcafb79e0af4db8cb738d/src/sphericalbessel.jl#L136-L145). The asymptotic expansion is so fast (hopefully we can figure out the other PR on vectorization) that we might want to consider that for orders less than 100 or so...

Good points. This function I'm submitting literally is sphericalbesselk with an offset of 1/2 on the order. Would you like me to just rename it (and change the shift as appropriate) and move it to the spherical file? It looks like you don't have a sphericalbesselk yet, so that could do two birds with one stone.
Also, a good call about checking for v sufficiently large. That does make sense to do and I can do a few back of the envelope timings and pick a cutoff for that.

I think this definitely gives a solution for the modified spherical bessel function (only for integer orders) so we should probably define that as well. But I think I'm generally in favor of having that as a separate file (modifiedsphericalbessel.jl) and we can have the specialized half integer routines there.
I think the general question is should we dispatch for half integer orders within the besselk routine.... I think I'm open to whatever users would reasonably expect to happen. We already have a branch for integer orders https://github.com/JuliaMath/Bessels.jl/blob/0302204fa33829d96dbbcafb79e0af4db8cb738d/src/besselk.jl#L233 so should that branch just be integer or half integer orders and then the forward recurrence can use the starting values either with besselk0 or besselkhalf.
Or would users look to the sphericalbesselk routines if they are using half integers of besselk? 🤷♂
Also it does look like that test failure is related. It is failing at (v, x) = (51.5, 97.85) which should be dispatching to this new routine? Could you add some more higher orders into your test cases?

Oof, you're right about the tests. Apologies for that.
With regard to whether the branch should be in besselk or not, I think to some degree that's up to you. But if you don't put it in there, I assume downstream users (like me) will just create their own wrappers and add it in ourselves. The statisticians who need this will hopefully use BesselK.jl to get the auto-derivatives w.r.t. v, and so I would be perfectly happy to just add the branch in my code and keep your implementation that little bit leaner. I do intend, by the way, to move to your besselk from SpecialFunctions.besselk when I get a spare minute.
With regard to the comparison with the whole integer order, you're right that it's the same. Maybe better to re-use the code a bit more efficiently and use the existing recurrence function. I can look into that.
Also, about modified spherical Bessels, I have never seen a non-integer order. NIST 10.47, the section on them, explicitly comments on the order only being an integer. Are there fractional-order spherical ones to worry about? If not, I would still be happy to move this function to a file and name it the spherical name (as well as the other checks you mention for v, adding more tests, etc).
I'm covered in meetings until the afternoon, but I won't let this PR languish, so will be on it soon.

Do you know why that test seemed to fail? I notice it is passing now but it's because it's not dispatching to that method anymore.
Funny enough - mathematica doesn't even give functions for SphericalBesselK or SphericalBesselI just the j and y variants. But yes there are non-integer orders for these but they lose their meaning and don't have any special expressions. But we still should just fall back to computing besselk for any order at that point, but I doubt anyone would call these really for noninteger orders.
I think the path forward (the code in general looks good) to merge this. Is to

Move the half integer to a modifiedsphericalbessel.jl file
The syntax should probably follow https://github.com/JuliaMath/Bessels.jl/blob/0302204fa33829d96dbbcafb79e0af4db8cb738d/src/sphericalbessel.jl#L113 that from bessely (as forward recurrence is always stable for both of these.
Decide if we want to have the half order check in main routine. Though users could always call Bessels.besselk_vhalfint if they wanted to and just need to document that this function should be stable.

Makes sense. I've just pushed another commit that moves things over. In the end if it's going to be its own function I re-implemented the spherical modified k function with the simpler recursion. It does have an extra branch in the beginning which I know you guys won't like, but since the symmetry is broken I don't see a way around it. I'd love to be wrong though.
I'm confused about the CI failing, because all tests pass on my local branch.
Also, with regard to whether the branch goes into the main besselk or not, I feel like I've kind of made my argument above. I also think it is a funny line to draw to say that it's worth it to have a special branch for integer orders and not half-integer orders. But again, if you decide not to put it in then downstream folks like me will just add the control flow in our own code which is easy, so it doesn't seem like a big deal either way to me. Maybe you should just decide and let me know what you want?
With regard to why the tests were failing for a few Float32s, I actually don't have a great explanation. I looked into it using ArbNumerics and the current values are more accurate. But only in some reasonably specific parts of the domain. So kind of a stumper to me.

Really thanks for making these changes (I know it's a pain). I have something that will occupy me the rest of the day but one thought looking at the code now is it looks like it will give wrong results for negative orders if you call the routine directly.
In the tests you put in you are calling the general besselk routine which filters the arguments first to only call the routine for positive orders and arguments. But what if you call sphericalbesselk directly for negative orders? On a quick inspection this looks like it would give you wrong results as we are only iterating in the forward direction towards positive numbers? Could you check on this or add tests? Just a general intuition without testing them carefully.

It's my pleasure to work this out. I spend all day fitting Matern functions and so I'll probably be the most benefited of all the users of this package.
Good catch on the negative order. I added a special check for that in the manual integer order routines where the negative sign wouldn't otherwise be handled correctly and also added some tests.
Also, apologies for the method errors---my fault from the last overly quick commit.

Ok I've had time to look through this. I've made some changes but had some git issues which created a new branch. I'll merge this then fix those changes after.
There are a couple of things I tried to fix.

Returned NaN for infinity arguments (when order was integer)
With that cutoff there seemed like a small subset of numbers that would dispatch from besselk to sphericalbesselk then back to besselk. I think that should be avoided.
If you fix 2 by using same cutoffs you can just call the sphericalbesselk_int routine directly to avoid additional checks etc.
The constants are already defined in math_constants.jl so those are duplicates.
There is a premature overflow possibility in the forward recurrence because of doing the scaling by exp(-x) at the very end instead of scaling these first.
I've also added some docs and spacing issues.

I'll try to see if I can merge this into here real quick (I thought I was directly editing this.... but I guess not)

Thanks for contributing this @cgeoga !!! Looking forward to the large argument expansions :wink:

Amazing, thanks for all the improvements! Preparing the large argument expansion one now.


VAC was unable to verify your game session.

Hello there ! I know that it has nothing to do with VAC , but it really annoys me. Because everytime this happens , you have to relog to your steam :/ Is there any solution ? Happens when the hour boost restarts.

Disable the boosting when you want to play.


Training Setting

For train model on 48G GPU to translate language how change setting to get highest quality
r = 16
lora_alpha = 16,
lora_dropout = 0,
random_state = 3407,
per_device_train_batch_size = 2,
gradient_accumulation_steps = 4,
warmup_steps = 5,
num_train_epochs = 1,
learning_rate = 2e-4,
seed = 3407,

@nichellehouston To get the highest quality it typically depends on the model and the quality of the datasets.
but the main hyperparameters  should be
# Model Hyperparameters
learning_rate = 2e-4  # Starting with a lower learning rate for stability
lora_alpha = 32  # Higher value to capture more complexity
num_train_epochs = 3  # Training for more epochs to capture better patterns
r = 16   #  Small r: Faster training, less adaptation capacity.
             # Large r: Slower training, more powerful adaptation (with more parameters).

train for a few steps and then stop  save the loss for comparison
next , change the  values for the hyperparameters  train again and compare the loss

I feel like you can increase the amount of per_device_train_batch_size to maximize your VRAM usage since your GPU is 48GB .-.


⚠ Bofrost.lu has degraded performance

In f126190, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1335 ms

Resolved: Bofrost.lu performance has improved in 6e344c7 after 6 minutes.


chore: Add github actions

:tada: This PR is included in version 2.0.0-rc.3 :tada:
The release is available on:

v2.0.0-rc.3
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0 :tada:
The release is available on:

v2.0.0
GitHub release

Your semantic-release bot :package::rocket:


Strip debuginfo when debuginfo is not requested

What does this PR try to resolve?
This PR implements this proposal. It contains a detailed description of the change.
As a summary, this PR modifies Cargo so that if the user doesn't set strip explicitly, and debuginfo is not enabled for any package being compiled, Cargo will implicitly set strip = "debuginfo", to strip pre-existing debuginfo coming from the standard library. This reduces the default size of release binaries considerably (~4.5 MiB => ~450 KiB for helloworld on Linux x64).
Perhaps we could only add the -Cstrip option for the leaf/root target (i.e., a binary), but cargo already passes -Cstrip to libraries if it's set by [profile.<...>.package.<lib>], so it seems harmless.
Fixes: https://github.com/rust-lang/cargo/issues/4122
How should we test and review this PR?
Best reviewed commit by commit. There is one commit that fixes an existing related test that was using wrong assertion.
Additional information
The implementation of the deferred option was inspired by DebugInfo, which already uses a similar concept.
Unresolved questions
Should we also do this on macOS by default? It seems that there can be some issues with strip there. If it doesn't work, it basically inhibits compilation in release mode, with no easy way to opt out (unless the user explicitly requests debuginfo, but that's not the same as the previous state).

The FCP has been accepted.

Thanks!
@bors r+

:hourglass: Testing commit e954099394a61258b62531a67a55b222c11a5e38 with merge fbf9251b4d3ddfc63ad0760ac121211a6c48a2d9...

:sunny: Test successful - checks-actions
Approved by: ehuss
Pushing fbf9251b4d3ddfc63ad0760ac121211a6c48a2d9 to master...

I think this is worth mentioning in the docs too?

I would say that the docs already mentioned this (debug = 0 claimed that there will be no debuginfo in the target binary). It just wasn't upheld before, and it is now. OTOH, we could maybe document the exact mechanism that is used to achieve this.


Why is everything configured "globally" rather than on the FormBuilder?

All config regarding how to render the forms are stored on the SimpleForm module. This makes it really difficult to render different kinds of forms, if I've understood the README correctly.
I have two sections of my app, and forms use different markup in these two sections.
The wrappers seem to be configurable, so I can create two wrappers for my two different form styles, however, there's lots of other config that is not specified per wrapper. The boolean_style and the button_class for instance.
What I don't understand is why these things are configured in an initializer instead of in the FormBuilder class? That way I could just create two subclasses and pass them to the simple_form_for helper.

I have problem similar to this.
I want to use different config for different url namespace.
In my case,
/user/* use the default config,
/admin/* want to use config for admin only,
/enterprise/* want to use config for enterprise only.


Build universal binaries for release

Closes https://github.com/yonaskolb/XcodeGen/issues/994.

This is great, thank you @thii. Could you rebase off or merge in master and then add a changelog entry (since you'll get a conflict in the changelog otherwise)

@yonaskolb Thanks. Rebased and added a changelog entry. I added it to the "Internal" section, but let me know if that isn't the right place.

This is unfortunately causing issues with Homebrew https://github.com/Homebrew/homebrew-core/pull/74854


Column alias

While returning data column names are not same as alias name provided in the query.
I observed this behavior with nested query like the one below.
SELECT COALESCE(nullif(exchange, ''), 'UNKNOWN') AS exchange,
       COUNT(*) AS "count"
FROM
  (SELECT symbol, exchange
   FROM doc.market_quotes) AS expr_qry
GROUP BY exchange
ORDER BY "count" DESC;

Output:
coalesce(nullif(exchange, ''), 'UNKNOWN')           count()
--------------------------------------------------------------------------
NMS                                                 443816
NCM                                                 157011
NGM                                                 126466
PNK                                                 22298
UNKNOWN                                             14403
PCX                                                 8446
NYQ                                                 2722
NIM                                                 1091
OBB                                                 546
ASE                                                 544

hi @rajanikanthy, thanks for reporting. this seems to be somehow related to subselects. we will check that.

@rajanikanthy this issue is fixed with https://github.com/crate/crate/pull/5694 and is already backported to the branches 2.0 and 1.1. The upcoming releases 2.0.1 and 1.1.5 will already include this fix. Thanks for reporting.

hi @rajanikanthy, the two releases are out. 2.0.1 will hopefully declared as stable later this week.

hi @rajanikanthy, 2.0.2 is stable out now. i'm closing this issue now.


Added support for transforming homogenous W geometry into world geomtry

This is an update on the previous pull request https://github.com/elishacloud/dxwrapper/pull/188.

Thanks @dkollmann!  I will take a look at this soon.

Also FYI if you try this code with Black & White, things will have a blue tint. This is because the water plane which should be rendered before all the other geometry, is rendered on top of it instead of behind the other geometry.

I made some fixes. Of course lpD3DMatrix has to be replaced, after getting the game camera properties from it.
I added an option to disable the lighting which is needed when DdrawConvertHomogeneousW is true but DdrawConvertHomogeneousToWorld is false. At least for Black & White.
The force push was just an update on the commit comment.

For some reason when I add this DdrawConvertHomogeneousW = 1 line to the ini file I just get the following:

For some reason when I add this DdrawConvertHomogeneousW = 1 line to the ini file I just get the following:

Ok, I figured this out.  You have to set DdrawDisableLighting = 1 for Black & White.

My only last comment is that I prefer to create a struct and add it to the IDirect3DDeviceX.h file rather than a whole new class for the DdrawConvertHomogeneous settings/matrices.  Since the code is in IDirect3DDeviceX.cpp the settings should be in IDirect3DDeviceX.h.
Other than that, I think this is about ready to merge.

Sounds good man.

Ah okay, I created the RenderData.h, because it was not possbile to include the device header in the DebugOverlay.cpp file.

I created the RenderData.h, because it was not possbile to include the device header in the DebugOverlay.cpp file.

DebugOverlay.h already has #include "ddraw.h", which includes IDirect3DDeviceX.h.  So it is already covered.

Now DdrawConvertHomogeneousW seems to be working great.  However, I am not able to get DdrawConvertHomogeneousToWorld working at all.

If possible, attach a few good looking screenshots (or even link a video) of the resulting rendering in RTX Remix!

These are my settings
DdrawOverrideWidth         = 1920
DdrawOverrideHeight        = 1080
DdrawOverrideRefreshRate   = 60
DdrawOverrideStencilFormat = 80
DdrawConvertHomogeneousW   = 1
DdrawConvertHomogeneousToWorld = 1
DdrawConvertHomogeneousToWorldUseGameCamera = 1
DdrawConvertHomogeneousToWorldFOV = 30
DdrawConvertHomogeneousToWorldNearPlane = 1
DdrawConvertHomogeneousToWorldFarPlane = 1000
DdrawConvertHomogeneousToWorldDepthOffset = 0.001
DdrawEnableMouseHook       = 0
DdrawDisableLighting       = 1

On my PC with the previous setings...
No RTX, the water plane which should be rendered first is just rendered alogn with the rest of the geometry.
https://1drv.ms/v/s!As0-jjvsSN2xgft8Y6R-1Zsvta99uQ?e=453wxe
RTX, I ignore the wwater plane, so it is not rendered, since it does not serve the purpose of a raytraced surface anyway, since it is a plane facing the camera.
https://1drv.ms/v/s!As0-jjvsSN2xgft9BREiXiT7RT6VAg?e=3t0yky

Ok, thanks!  I figured it out.  With the latest check-in this all you should need in your ini file.  The rest should be set by default or auto-detected:
[Compatibility]
Dd7to9                     = 1

[Dd7to9]
DdrawEnableMouseHook       = 0
DdrawDisableLighting       = 1
DdrawConvertHomogeneousW   = 1
DdrawConvertHomogeneousToWorld              = 1
DdrawConvertHomogeneousToWorldUseGameCamera = 1

With these settings and the latest build I am not seeing any issues.  Try this build with only the included settings.
Latest build:  dxwrapper.zip

Hmmm it works too well. Something seems off. Let me merge those changes into my branch and let me check.
RTX version crashes, with no explicit stencil format, but that is fine.
DdrawOverrideStencilFormat = 80

Looks correct in blender though.

RTX version crashes, with no explicit stencil format, but that is fine.
DdrawOverrideStencilFormat = 80

Sounds like a bug in RTX.  The stencil format is set later.  Maybe we should default to setting a stencil and then let the game override that, if needed?
I defaulted to no stencil because 2D DirectDraw games don't need it.  But I don't think it will hurt to have a default one set.  I prefer having less options and letting dxwrapper figure out things for the user.
Try this one and see if this has the same issue with RTX:  dxwrapper.zip

I would not worry. To use RTX, you have to install all this as a mod anyway, so you also get the correct overrides and new assets.
I want to replace the water shader as well as the terrain shader. And add lights to the spells and so on.

Okay I found the issue. But still, not using DdrawConvertHomogeneousToWorldUseGameCamera currently yields the better results.
Maybe it would be better to just move the light, instead of transforming the geometry into insane values which then generate Z fighting. For the raytracing it should make no difference and the geometry we see is only the visible area anyway, so moving it around the world has no benefit.

Try this one and see if this has the same issue with RTX: dxwrapper.zip

Still crashes. Sorry. But as mentioned it does not matter, the user will get an installer anyway, and that will also install the dxwrapper.ini.

Still crashes. Sorry. [...] it does not matter, the user will get an installer anyway [...] they just relased RTX Remix 0.2.0 like a week ago. It is still quite an experimental tool.

Ok, no problem.  Then I will not worry about it right now.

not using DdrawConvertHomogeneousToWorldUseGameCamera currently yields the better results.

Ok.  What's the purpose of DdrawConvertHomogeneousToWorldUseGameCamera?

Maybe it would be better to just move the light, instead of transforming the geometry into insane values which then generate Z fighting.

I can't reproduce this issue.  I'll wait until you have this resolved before merging the code.

Ok. What's the purpose of DdrawConvertHomogeneousToWorldUseGameCamera?

The idea is to transform the geometry back to its "original" world position, so it is correctly placed relative to other world geometry. So when I remove the 2D sky and replace it with a sky dome, so the raytracing has something it can actually hit, the game geometry will be correctly placed.
But it will probably be better to transform the sky dome instead into the homogenous space.

But still, not using DdrawConvertHomogeneousToWorldUseGameCamera

I think I fixed this issue.  It should now be using the Game Camera.  See check-in here:  44d43381e096a1fbff974f593ef68abc4d5c7efd

I can't reproduce this issue.

Now I can see the problem with the DdrawConvertHomogeneousToWorldUseGameCamera.  It works fine as long as this option is disabled.

Shouldn't these lines be changed? FROM:
position = DirectX::XMVectorSet(0.0f, 0.0f, 0.0f, 0.0f);
direction = DirectX::XMVectorSet(0.0f, 0.0f, 1.0f, 0.0f);

TO:
position = DirectX::XMVectorSet(view._41, view._42, view._43, view._44);
direction = DirectX::XMVectorSet(view._31, view._32, view._33, view._34);

The result of XMMatrixLookToLH should stay the same.

Are you sure?  The position sent would be DirectX::XMVectorSet(-1.0f, 1.0f, 0.0f, 1.0f); rather than DirectX::XMVectorSet(0.0f, 0.0f, 0.0f, 0.0f);.  Also, if we ever change the view later than having it set by view means it gets updated also.  No need to manually change it later.

It seems like there may be more than just something wrong with DdrawConvertHomogeneousToWorldUseGameCamera.  I am seeing an issue in Dark Reign 2 when just using DdrawConvertHomogeneousToWorld.  The sky seems stretched
With DdrawConvertHomogeneousToWorld enable:

How it is supposed to look:

I can also see it even when just DdrawConvertHomogeneousW is enabled, but it is not quite as pronounced.

Okay, here are the things are are wrong here and why the view has a position of zero.

"lpD3DMatrix = &view;" is set after the whole "if (Config.DdrawConvertHomogeneousToWorld)" block.
toViewSpace should be "DirectX::XMMATRIX toViewSpace = DirectX::XMLoadFloat4x4((DirectX::XMFLOAT4X4*)&view);"

The result will be the same, but the code should be a bit clearer.
So what happens is...

With the inverse matrix, "view" is applied. So the geometry is centered in front of the camera.
Then the inverse view projection is added, so the geometry is transformed into world space.
From there, the view matrix does not need to contain "view", since the error was already corrected by the inverse matrix.

I hope this all makes sense and is correct. Please take a look.

Not sure if it is related, but I noticed something curious with the reconstructed world psace in Black & White.

The whole world is rotated by 24.4° degreees. But the thing is, if you look at the trees at the bottom left, they are straight, which implies that this is correct. I wonder why this is. Is this due to the angle of the reflection? In game, the camera is completely horizontal. I checked the original view matrix.

Okay this seems to be a Black & White thing. No matter how I look att he view matrix, the angle only seems to be half of the actual angle. MAybe this is related to faking bent normals.

@dkollmann, sorry for the delay in responding.  I updated the code to match your branch.  But I am wondering if there is an issue with DdrawConvertHomogeneousW which is getting exacerbated in DdrawConvertHomogeneousToWorld.
Could there be an issue because we are losing data in the DrawIndexedPrimitive() when we overwrite data in lpVertices?
The reason I ask is because I am still seeing distortion in the sky in Dark Reign 2 whenever DdrawConvertHomogeneousToWorld is enabled, even if DdrawConvertHomogeneousToWorldUseGameCamera is disabled.  I also see distortion even if just DdrawConvertHomogeneousW is enabled, though the distortion is much smaller in this last case.

Hey, I just wanted to say that I am still on this, but I changed my job and am moving to another country, so lately I am super busy.

@dkollmann, no problem.  Take your time.  I understand.  Real life has to come first.  Thanks for letting me know.

Because there are a lot of things added since this PR was created, I updated it to keep it in-sync with the master branch.

Keeping PR in-sync with master branch.


Update to CBL 1.2.0 and JS API for  selecting Storage Engine to use and configuring database encryption

we need the following feature:

[ ] Update to CBL 1.2.0

[ ] JS API for selecting Storage Engine to use

[ ] JS API for configuring database encryption

may be we should implement rest api first.


Issues list link in contributing.md file is broken

The link to issues list in contributing.md file is broken.
It should point to https://github.com/NerdWallet/nw-react-slider/issues but it points to https://github.com/NerdWallet/nw-react-slider/issues list. Notice the extra '%20list' in the URL.

Fixed with 337231a01fc7efcbffe3ed35b487ed7c397e5b79

Whelp! Gun jumping caused by insufficient caffeine in the system. PR still open, reopening the issue.

Fixed now.


Trace caller id in application insights

Description
Trace caller id in application insights by logging it from API Management.
References
https://app.zenhub.com/workspaces/mighty-ducks---the-outlaws-6193fe815d79fc0011e741b1/issues/energinet-datahub/the-outlaws/270

Codecov Report

Merging #498 (1fa456d) into main (1fb7bd5) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #498   +/-   ##
=======================================
  Coverage   69.14%   69.14%
=======================================
  Files           9        9
  Lines         188      188
  Branches       19       19
=======================================
  Hits          130      130
  Misses         53       53
  Partials        5        5

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


UFAL/You cannot see handle of the community/collection

Communities and Collections doesn't have handle in the v5.


Remove version: bornova.numara version 3.16.3

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/bornova/numara-calculator/releases/download/v3.16.3/Numara-3.16.3.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 910)


error on installing lib_resume_builder_AIHawk

Hello,
I ran the project once, and it errored out on installing the library lib_resume_builder_AIHawk and then i read through the terminal output and attempted to install it very a terminal line
python -m pip install git+https://github.com/feder-cr/lib_resume_builder_AIHawk.git
This also errored out:
Collecting git+https://github.com/feder-cr/lib_resume_builder_AIHawk.git
  Cloning https://github.com/feder-cr/lib_resume_builder_AIHawk.git to /tmp/pip-req-build-bkye7xcy
  Running command git clone --filter=blob:none --quiet https://github.com/feder-cr/lib_resume_builder_AIHawk.git /tmp/pip-req-build-bkye7xcy
  Resolved https://github.com/feder-cr/lib_resume_builder_AIHawk.git to commit d1cab8131...
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [20 lines of output]
      Traceback (most recent call last):
        File "./resume_render_from_job_description/venv-resume/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "./resume_render_from_job_description/venv-resume/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "./resume_render_from_job_description/venv-resume/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-guyhm90m/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 332, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-guyhm90m/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 302, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-guyhm90m/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 502, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/tmp/pip-build-env-guyhm90m/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 318, in run_setup
          exec(code, locals())
        File "<string>", line 7, in <module>
      FileNotFoundError: [Errno 2] No such file or directory: 'README.md'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

Would be very appreciative of any insight on how to get this running, thanks!

Related error on pip install


BaseGetConsoleReference not found

Received error message when running debug version: "The address of 'BaseGetConsoleReference' was not found"
Looking at the exported functions of KernelBase.dll shows no "BaseGetConsoleReference" function. It seems that it was present on earlier versions though (after some google searching).

Hi! Very fast response lol
This error was encountered on Windows Server 2016 build 14393.
I did just see that on another system running Windows 10 build 19045 that KernelBase.dll DOES export BaseGetConsoleReference

Ok, interesting, would you mind sharing both KernelBase.dll files? You can talk to me on Twitter if you want an email address to send them to.

shoot me a follow and i'll DM you

To follow-up, this error does not appear on Windows 10 or Windows Server 2019. So far I've only encountered it on Server 2016.

Closing this, reopen if needed.
Thank you for reporting!


Create and import new certificate for service principal used for ScubaGear automated processes

💡 Summary
The certificate used for the ScubaGitHubAutomation service principal in the test tenants is expiring very soon. This is used by the Smoke Test and other automated processes. Need to create a new cert and import it into the tenants.

Motivation and context
The automated processes will break unless we update the certificate.
Implementation notes
Please provide details for implementation, such as:

[ ] Generate a new certificate for the scuba github automation process and install it on a test machine cert store
[ ] Upload the certificate public key file to the ScubaGitHubAutomation service principal in the E5 tenant
[ ] Test running ScubaGear with the new certificate on the same machine where the certificate was installed against the E5
[ ] Delete the old certificate from the E5 ScubaGitHubAutomation service principal
[ ] Upload the certificate public key file to the ScubaGitHubAutomation service principal in all the other tenants
[ ] Delete the old certificate from the other tenants
[ ] Export the private key file and Base 64 encode it
[ ] Grab the ScubaGitHubAutomation JSON credentials document from the vault
[ ] Update the ScubaGitHubAutomation JSON credentials document with the new base 64 private key string
[ ] Update the SCUBA_GITHUB_AUTOMATION_CREDS secret in the repo with the new JSON document
[ ] Run the Smoke Test to make sure it works
[ ] Update the ScubaGitHubAutomation JSON credentials document in the vault with the updated JSON

pinging @schrolla @nanda-katikaneni @james-garriss for awareness

Will work on this. I wish it was as easy as you described but there are some complications that I won't go into :fearful:


Fix a few lingering issues in the new Jekyll process

Some leftovers from #741

🚀 Deployed on https://66132d020b59611b402e3e03--alexwlchan.netlify.app


MSID: 91634 Version: 1 DOI: 2<IP_ADDRESS>7542

"msas": "Developmental Biology"
"msid": "91634"
"preprintDoi": "10.1101/2<IP_ADDRESS>7542"
"Reviewed Preprint posted": "2023-10-11"
"Sent for peer review": "2023-08-17"
"Posted to bioRxiv": "2023-08-04" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>7542v3/")
[PLACE PDF URL HERE WHEN AVAILABLE] See step 7
Step 1. Inform bioRxiv
Who can help: @QueenKraken, @nlisgo, @scottaubrey

[x] Manuscript is in data hub index (https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=91634)

Step 2. Create preview of manuscript
Who can help: @fred-atherden, @nlisgo, @scottaubrey

[ ] Manuscript is available for preview (https://prod--epp.elifesciences.org/preview/91634/v1)

[ ] Trigger import for staging: https://prod--epp.elifesciences.org/import
[ ] Sync data folder with s3://prod-elife-epp-data/data
[ ] Trigger import for staging: https://staging--epp.elifesciences.org/import
[ ] Sync data folder with s3://staging-elife-epp-data/data
[ ] Pull request created to enhanced-preprint-data
[ ] Post link to pull request below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-manuscript
Step 3: Awaiting public reviews and QC
Who can help: Production team

[ ] QC passed or QC not needed

Who can help: Editorial team

[x] Public reviews available on sciety (https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>7542)
[x] Manuscript and editor details at the top of this issue (Supplied by Editorial team)
[ ] Reviews returned by EPP - https://prod--epp.elifesciences.org/api/reviewed-preprints/91634/v1/reviews

Example
"msas": "Genetics and Genomics", "Neuroscience"
"msid": "84628"
"version": "1"
"preprintDoi": "10.1101/2<IP_ADDRESS>4241"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."

"Reviewed Preprint posted": "2023-01-02"
"Sent for peer review": "2022-10-28"
"Posted to bioRxiv": "2022-11-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>4241v1")

Editors:
Reviewing Editor
Michael B Eisen
University of California, Berkeley, United States
Senior Editor
Michael B Eisen
University of California, Berkeley, United States

Step 4: Modify manuscripts.json (no PDF)

[ ] Reviewed preprint is published to EPP (https://elifesciences.org/reviewed-preprints/91634)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[ ] Request that a doi be registered

[ ] Post link to #enhanced-preprint comment below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]

Instructions to modify manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/publish-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/334/files
Once the pull request is merged in it should be available a few minutes later.

Request that a doi
Post the following in #enhanced-preprint:
@Fred can you register a doi for https://elifesciences.org/reviewed-preprints/91634

Step 5: Awaiting search reindex

[ ] Reviewed preprint is avaliable on journal homepage (https://elifesciences.org)

The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.

Additional info
If needed, the jenkins pipeline to reindex search can be triggered sooner.
https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 6: Published! Request PDF generation

[ ] Post the link to the PDF url at the top of the issue

[ ] Post link to #enhanced-preprint comment below

#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]
Post the following to the #enhanced-preprint on slack:
@Ryan Dix-Peek please can you generate a PDF for https://elifesciences.org/reviewed-preprints/91634

Step 7: Introduce PDF to data folder and git repo

[ ] PDF is avaliable at https://github.com/elifesciences/enhanced-preprints-data/raw/master/data/91634/v1/91634-v1.pdf

Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-pdf
Step 8: Add PDF url to manuscripts.json

[ ] Reviewed preprint PDF is available for download (https://prod--epp.elifesciences.org/reviewed-preprints/91634)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[PLACE LINK TO PULL REQUEST HERE]

Instructions to add PDF url to manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/add-pdf-url-to-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/397/files
Once the pull request is merged in it should be available a few minutes later.

Step 9: Done!

[ ] Kettle is on!

elocations missing from references.


about regression loss

very great work!!!
i use tusimple dataset to train new model，but my regression loss always decrease first and then increase，batch_positive too!could you give me some advice about that? my learn_rate = 0.00035.
thanks you!!!

Did you use the provided configs to train on TuSimple? Did the training diverge? What you described can indeed happen, but it is not necessarily bad.

Did you use the provided configs to train on TuSimple? Did the training diverge? What you described can indeed happen, but it is not necessarily bad.

thank you for your reply!!!.The loss is like this. i have a question about how to test diffferent type lane of CULane dataset?after i test the model, i only can see the total F1,tp and so on.


I'm on a Raspberry Pi 4 running tmux 3.1c with tpm and catppuccin in wezterm.  Hadn't done a tpm update for a while and when I did my status bar went from beautiful to barely visible.  Here is my tmux.conf file:
# Set prefix key to screen's
set -g prefix C-a

# Make mouse useable
set -g mouse on

# Scrollback buffer
set -g history-limit 10000

bind | split-window -h
bind - split-window -v

set -sg escape-time 1
set -sg repeat-time 200

# start window numbers from 1 not 0
set -g base-index 1
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on

set -g default-terminal "wezterm"
set -g default-terminal "screen-256color"
#set-option -ga terminal-overrides ",*-256color*:TC"

set -g status on
set -g mode-keys vi

# notifications
setw -g monitor-activity on
set -g visual-activity on

# auto rename
setw -g automatic-rename on

set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'brennanfee/tmux-paste'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'catppuccin/tmux'
set -g @catppuccin_flavour 'frappe' # latte or frappe, macchiato, mocha (default)

set -g @catppuccin_window_left_separator ""
set -g @catppuccin_window_right_separator " "
set -g @catppuccin_window_middle_separator " █"
set -g @catppuccin_window_number_position "right"

set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_default_text "#W"

set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text "#W"

set -g @catppuccin_status_modules_right "host session date_time"

set -g @catppuccin_status_left_separator  ""
set -g @catppuccin_status_right_separator ""
set -g @catppuccin_status_fill "icon"
set -g @catppuccin_status_connect_separator "no"

set -g @catppuccin_directory_text "#{pane_current_path}"

set -g @catppuccin_date_time_text "%d%h,%Y | %I:%M%p"

# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

Without this change:

With this change:

If I change catppuccin.tmux as follows with the latest code, my status bar works again:
diff --git a/catppuccin.tmux b/catppuccin.tmux
index 46686a5..75452ee 100755
--- a/catppuccin.tmux
+++ b/catppuccin.tmux
@@ -80,7 +80,7 @@ main() {
   pane_border_style=$(get_tmux_option "@catppuccin_pane_border_style" "fg=${thm_gray}")
   pane_active_border_style=$(
     get_tmux_option "@catppuccin_pane_active_border_style" \
-      "#{?pane_in_mode,fg=${thm_yellow},#{?pane_synchronized,fg=${thm_magenta},fg=${thm_orange}}}"
+      "fg=${thm_orange}"
   )
   pane_left_separator=$(get_tmux_option "@catppuccin_pane_left_separator" "█")
   pane_middle_separator=$(get_tmux_option "@catppuccin_pane_middle_separator" "█")

I commented out my other tmux plugins so it was just catppuccin.  Also tried the other flavours with the same results.  Backing the above stuff out fixed my status bar being visible issue but not sure what the ramifications are.

It seems that that change follows the default of tmux this was changed in 3.2.
I suggest manually setting it set -g @catppuccin_pane_active_border_style 'fg=#ef9f76' (not ideal)
or updating tmux.

Ok, so I reverted my change to use the latest and added that line to my ~/.tmux.conf and it worked.  Thanks for that and a good workaround for anyone else experiencing this with an older version of tmux.  I've been on the road for a while but in a couple of months I'll have a chance to update my RPi to Debian bookworm which should give me a tmux >= version 3.2.

Tmux 3.3a is in the debian bullseye-backports repository.
We recently added some checks so hopefully something like this will be noticed in the future (the tmux version tested is 3.2a however).
Happy to help.

Awesome, thanks for that!  I had no idea about the debian backports.  Now I'm on 3.3a and I don't see the issue.
Learn something every day.  :-)