Calling non-constant function

When I run this:
        web3 = Web3::Eth::Rpc.new host: 'ropsten.infura.io/my_api_key',
                                  port: 443,
                                  connect_options: {
                                    open_timeout: 20,
                                    read_timeout: 140,
                                    use_ssl: true
                                  }
        # render html: web3.eth.blockNumber

        abi = [...myMethod...]
        contract = web3.eth.contract(abi)
        contractInstance = contract.at('...')

        result = contractInstance.myMethod(...)
        puts result

I get a RuntimeError (Function myMethod is not constant: myMethod, requires to sign transaction). How do you sign a method call transaction?

@astudnev

Is is a duplicate of https://github.com/izetex/web3-eth/issues/7 ?

I'm trying to execute a function not trying to send ether. Or do method calls have to be signed? I looked at #7 already.

if call is not view or constant, it has to be signed

Yeah my functions aren't constant. But do I have to create a new key and sign for every function call?

Greetings,
Would you mind sharing the procedure to sign a Transaction in this precise Scenario? @ToJen How did you end up doing exactly... Is it possible for you to share a code example?
Thank you.

running into same issue.. any ideas how to sign and use hex data with transfer method?

Hello @5hanth Please refer to issue #7, And look my replies. I have posted a brief example on how to do it.
Regards,

Thanks @jlstr
apparently I end up using ethereum.rb gem  and
client.personal_unlock_account(addr, pwd)
contract  = Ethereum::Contract.create(client: client, address: addr, name: token_name, abi: abi)
contract.transact.transfer(addr, value)


Undefined Offset Error

Description
After installation of the latest repository files, (and clearing out the known error logs caused by the SMF 2.1 RC1 bug), I'm getting the following new error log when navigating through any pages on my forum:
Type of error: General
8: Undefined offset: 7 Forum Root URL Path/index.php?action=helpdesk;sa=main
Forum Root File Path/Sources/sd_source/Subs-SimpleDesk.php (Line 717)
Steps to reproduce

Install SimpleDesk.
Clear out all error logs.
Navigate to any page on your forum.
The new error log is generated.

Environment (complete as necessary)

Version/Git revision: Latest repository files.
Database Type: MySQL
Database Version: 8.0.12 - MySQL Community Server - GPL

Additional information/references
This is a fresh installation with all of the previous copies and database tables from SimpleDesk removed prior.

Correction on this. The first time I navigated to a different page, it triggered the error one time. Now it only triggers if I visit the main helpdesk page.


chore(ci): Start a draft PR

Description
Trying to enhance containers performance and reduce resources
Type of changes
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist

[ ] I have read the CONTRIBUTING doc
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have already been accepted and merged

Further comments

@GDamaso This PR is over a week old, and has received no updates. Do you mean to close this PR, or are you holding the link captive for a school purpose?


onPress function does not working on TouchableOpacity, Pressable, Button components inside a PanResponder handler

Description
I've found a lot of similar issues with different solutions, but none of them worked so the problem is still exists. I'm aware of the following situation: When I import the TouchableOpacity from the react-native-gesture-handler package then it's working. But I'm working on a new NPM package, so I wouldn't like to install a new dependency instead of pure react-native components.
React Native version:
0.63.4
Steps To Reproduce

Create a TouachableOpacity inside a View.

<TouchableOpacity onPress={() => Linking.openURL("https://reactnative.dev/")}>
<Text>https://reactnative.dev/</Text>
</TouchableOpacity>
Expected Results
It should open a browser and navigate to the link, but nothing happens.

Same here

Same here

Hi @RichardRNStudio thanks for issue. Could you provide a Snack or Repro that demonstrates the issue so it is easier to debug the problem you are facing?

Hi @RichardRNStudio thanks for issue. Could you provide a Snack or Repro that demonstrates the issue so it is easier to debug the problem you are facing?

Hi @safaiyeh, I've investigated again the issue, and I wrote a new NPM package. There is a TouchableOpacity inside a PanResponder. When I test my package as seperated then it's working. I've recognized something: after I installed it on my application which includes react-navigation NavigationContainer then the onPress function does not working. I've found a new solution: use TouchableWithoutFeedback from react-native-gesture-handler and use onPressIn instead of onPress . Sorry I can't share my repositories with you, because all of them are private.
One more thing, this is my PanResponder settings:
const panResponderItem = PanResponder.create({       onStartShouldSetPanResponder: () => false,       onMoveShouldSetPanResponder: (_, gestureState) => {         return gestureState.dx != 0 && gestureState.dy != 0; // handle the gesture whether is click or drag event       },       onMoveShouldSetPanResponderCapture: (_, gestureState) => {         return gestureState.dx != 0 && gestureState.dy != 0;       },       onStartShouldSetPanResponderCapture: () => false,       onPanResponderMove: (_, gesture) => {         ... handle Gesture event ...       },       onPanResponderRelease: (_, gesture) => {         ... handle Gesture event ...       },     });
Does my description make sense?
Thanks, Richárd

Hi @safaiyeh, I've investigated again the issue, and I wrote a new NPM package. There is a TouchableOpacity inside a PanResponder. When I test my package as seperated then it's working. I've recognized something: after I installed it on my application which includes react-navigation NavigationContainer then the onPress function does not working. I've found a new solution: use TouchableWithoutFeedback from react-native-gesture-handler and use onPressIn instead of onPress . Sorry I can't share my repositories with you, because all of them are private.
One more thing, this is my PanResponder settings:
const panResponderItem = PanResponder.create({       onStartShouldSetPanResponder: () => false,       onMoveShouldSetPanResponder: (_, gestureState) => {         return gestureState.dx != 0 && gestureState.dy != 0; // handle the gesture whether is click or drag event       },       onMoveShouldSetPanResponderCapture: (_, gestureState) => {         return gestureState.dx != 0 && gestureState.dy != 0;       },       onStartShouldSetPanResponderCapture: () => false,       onPanResponderMove: (_, gesture) => {         ... handle Gesture event ...       },       onPanResponderRelease: (_, gesture) => {         ... handle Gesture event ...       },     });
Does my description make sense?
Thanks, Richárd

For react-native-gesture-handler you should file an issue here: https://github.com/software-mansion/react-native-gesture-handler

For react-native-gesture-handler you should file an issue here: https://github.com/software-mansion/react-native-gesture-handler

I'm facing the same issue with IOS
Here is my Pan
 const panResponder = useRef(
    PanResponder.create({

      onMoveShouldSetPanResponderCapture: (evt, gestureState) => {
        return gestureState.dx != 0 && gestureState.dy != 0;
      },
      onStartShouldSetPanResponder: (evt, gestureState) => true,
      onMoveShouldSetPanResponder: () => true,
      onPanResponderGrant: () => {

        var PanMin = pan.y._value;
        const halfBox_Area1 = -(Math.abs(b - b/3));
        const halfBox_Area2 = -(Math.abs(b + b/3));
        // console.log(halfBox_Area1 , halfBox_Area2, 'half Offset')

        if (  PanMin >= Iphone_waale ) {
          pan.setOffset({y : Iphone_waale})
        }
        if (  PanMin <= halfBox_Area1 && PanMin > halfBox_Area2 ) {
          pan.setOffset({y : -b})
        }
        if (  PanMin < -e ) {
          pan.setOffset({y : -e})
        }
        else{
          pan.setOffset({
            // x: pan.x._value,
            // y: pan.y._value,
            y: PanMin
          });
        }
        // console.log(PanMin, 'granasat');
      },

      onPanResponderMove: Animated.event([
              null,
              {
                dy: pan.y,
              },
            ],
            { listener: (_ , gestureState) =>  {
              pan.y.setValue(gestureState.dy)
              // console.log('dyy', gestureState.dy , "\n", "Mypan" , pan)
            }}

          ),
      onPanResponderRelease: () => {
        pan.flattenOffset();

        const pan_pos = pan.y._value;
        // console.log(pan_pos, 'pos')
        const halfBox_Area1 = -(Math.abs(b - b/3));
        const halfBox_Area2 = -(Math.abs(b + b/3));
        // console.log(halfBox_Area1 , halfBox_Area2, 'half')

        if (pan_pos > Iphone_waale) {
          pan.y.setValue(Iphone_waale)
        }
        if ( pan_pos < halfBox_Area1 && pan_pos > halfBox_Area2) {
          pan.y.setValue(-b)
        }

        if ( pan_pos < -e) {
          pan.y.setValue(-e)
        }

        pan.flattenOffset();

      }
    })
  ).current;

Here IS the Markup
 <Animated.View
    {...panResponder.panHandlers}
      style={[
          styles.greBox,
          {transform: [{ translateY: pan.y }]}
        ]}
    >
     <Pressable
                onPress={() => {
                  props.onRcChange(1);
                  console.log(e);
                }}
                style={styles._____}
              >
              </Pressable>
<Animated.View>


Does Anyone know is there a way?

@DimaKudosh is there a way to form stacks this way?
I have my roster order columns and batting orders before I run the opt but I was trying to eliminate the 7,8,9 hitters from my stack consideration but not for overall lineup consideration. If "optimizer.set_spacing_for_positions(['1B', '2B', '3B'], 3)" is used it could use a 9,1,2 wrap or 8,9,1 wrap to which i am trying to avoid. The "spacing=" argument could also give a wrap around. For MLB the 7,8,9 roster positions are pretty much useless but you will still need to be able to let them be in the selection process but wantig the core of stacks to come from the 1-6 positions. In 2023 82.7% of the top fantasy points scored came from batting positions 1-6 So far in 2024 that number is 79%. This is the importance of wanting to try to find a way.
optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_roster_order=['1', '2', '3', '4', '5','6']))
or
optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_roster_order=['1-6']))
Thx beforehand

I did a quick look in the team stack function so this may be possible but
may need further discussion
To achieve your goal of stacking primarily from batting positions 1-6 while
still allowing the 7,8,9 hitters to be in the selection process, you can
use the "for_batting_order" parameter in the TeamStack constructor. This
parameter allows you to specify the range of batting positions you want to
include in the stack.
Here is an example of how you can modify your code to achieve this:
optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_batting_order=(1,
6)))
This code will create a stack for the Atlanta Braves that includes players
from batting positions 1 through 6. The 7, 8, and 9 hitters will still be
considered for selection, but the core of the stack will come from the top
6 positions.
By using the "for_batting_order" parameter, you can customize the selection
process to prioritize players from specific batting positions while still
allowing for flexibility in the overall lineup construction.
On Tue, Apr 9, 2024, 11:55 PM G Dub D @.***> wrote:

@DimaKudosh https://github.com/DimaKudosh is there a way to form stacks
this way?
I have my roster order columns and batting orders before I run the opt but
I was trying to eliminate the 7,8,9 hitters from my stack consideration but
not for overall lineup consideration. If
"optimizer.set_spacing_for_positions(['1B', '2B', '3B'], 3)" is used it
could use a 9,1,2 wrap or 8,9,1 wrap to which i am trying to avoid. The
"spacing=" argument could also give a wrap around. For MLB the 7,8,9 roster
positions are pretty much useless but you will still need to be able to let
them be in the selection process but wantig the core of stacks to come from
the 1-6 positions. In 2023 82.7% of the top fantasy points scored came from
batting positions 1-6 So far in 2024 that number is 79%. This is the
importance of wanting to try to find a way.
optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_roster_order=['1',
'2', '3', '4', '5','6']))
or
optimizer.add_stack(TeamStack(3, for_teams=['ATL'],
for_roster_order=['1-6']))
Thx beforehand
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7VS6RJ5XAZXEQBC6CDY4SZ2BAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43ASLTON2WKOZSGIZTINZQGU4TMOA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thanks bunches. You are awesome for creating this btw.

TypeError                                 Traceback (most recent call last)
Cell In[58], line 1
----> 1 optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_batting_order=(1,6)))
TypeError: TeamStack.init() got an unexpected keyword argument 'for_batting_order'
Now I am lost

It didn't work so disregard that I'll look more into it
On Wed, Apr 10, 2024, 1:27 AM G Dub D @.***> wrote:

TypeError Traceback (most recent call last)
Cell In[58], line 1
----> 1 optimizer.add_stack(TeamStack(3, for_teams=['ATL'],
for_batting_order=(1,6)))
TypeError: TeamStack.init() got an unexpected keyword argument
'for_batting_order'
Now I am lost
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046564249,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7QAK3AKYSHVB5Z6HZ3Y4TEV5AVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGU3DIMRUHE
.
You are receiving this because you commented.Message ID:
@.***>

Try this
Here's an example of how you can set the spacing parameter for positions 7,
8, and 9:
optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_positions=['7',
'8', '9'], spacing=9999))
By setting a high spacing value for positions 7, 8, and 9, you are
essentially reducing the chances of these players being included in the
stack while still allowing them to be part of the overall lineup
consideration. This can be a workaround to achieve your goal without
directly modifying the class or filtering players before adding them to the
optimizer.
On Wed, Apr 10, 2024, 2:01 AM joseph offen @.***> wrote:

It didn't work so disregard that I'll look more into it
On Wed, Apr 10, 2024, 1:27 AM G Dub D @.***> wrote:

TypeError Traceback (most recent call last)
Cell In[58], line 1
----> 1 optimizer.add_stack(TeamStack(3, for_teams=['ATL'],
for_batting_order=(1,6)))
TypeError: TeamStack.init() got an unexpected keyword argument
'for_batting_order'
Now I am lost
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046564249,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7QAK3AKYSHVB5Z6HZ3Y4TEV5AVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGU3DIMRUHE
.
You are receiving this because you commented.Message ID:
@.***>

Got this Error
LineupOptimizerIncorrectPositionName      Traceback (most recent call last)
Cell In[201], line 1
----> 1 optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_positions=['7', '8', '9'], spacing=9999))
File ~\anaconda3\Lib\site-packages\pydfs_lineup_optimizer\lineup_optimizer.py:342, in LineupOptimizer.add_stack(self, stack)
341 def add_stack(self, stack: BaseStack) -> None:
--> 342     stack.validate(self)
343     self.stacks.append(stack)
File ~\anaconda3\Lib\site-packages\pydfs_lineup_optimizer\stacks.py:210, in TeamStack.validate(self, optimizer)
208 for position in self.for_positions or []:
209     if position not in optimizer.player_pool.available_positions:
--> 210         raise LineupOptimizerIncorrectPositionName('%s is incorrect position name.' % position)
LineupOptimizerIncorrectPositionName: 7 is incorrect position name.

Tried it as roster_order and got
TypeError                                 Traceback (most recent call last)
Cell In[212], line 1
----> 1 optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_roster_order=['7', '8', '9'], spacing=9999))
TypeError: TeamStack.init() got an unexpected keyword argument 'for_roster_order'

Instead of positions change it to for_roster_order
See what that will do
On Wed, Apr 10, 2024, 2:11 AM G Dub D @.***> wrote:

Got this Error
LineupOptimizerIncorrectPositionName Traceback (most recent call last)
Cell In[201], line 1
----> 1 optimizer.add_stack(TeamStack(3, for_teams=['ATL'],
for_positions=['7', '8', '9'], spacing=9999))
File
~\anaconda3\Lib\site-packages\pydfs_lineup_optimizer\lineup_optimizer.py:342,
in LineupOptimizer.add_stack(self, stack)
341 def add_stack(self, stack: BaseStack) -> None:
--> 342 stack.validate(self)
343 self.stacks.append(stack)
File ~\anaconda3\Lib\site-packages\pydfs_lineup_optimizer\stacks.py:210,
in TeamStack.validate(self, optimizer)
208 for position in self.for_positions or []:
209 if position not in optimizer.player_pool.available_positions:
--> 210 raise LineupOptimizerIncorrectPositionName('%s is incorrect
position name.' % position)
LineupOptimizerIncorrectPositionName: 7 is incorrect position name.
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046605079,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7W2RB5B2JYMMTRDA2TY4TJYJAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGYYDKMBXHE
.
You are receiving this because you commented.Message ID:
@.***>

TypeError                                 Traceback (most recent call last)
Cell In[234], line 1
----> 1 optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_roster_order=['7', '8', '9'], spacing=9999))
TypeError: TeamStack.init() got an unexpected keyword argument 'for_roster_order'

Still looking into it
On Wed, Apr 10, 2024, 2:16 AM G Dub D @.***> wrote:

TypeError Traceback (most recent call last)
Cell In[234], line 1
----> 1 optimizer.add_stack(TeamStack(3, for_teams=['ATL'],
for_roster_order=['7', '8', '9'], spacing=9999))
TypeError: TeamStack.init() got an unexpected keyword argument
'for_roster_order'
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046610248,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7U3V2ZO67DPPTPKD6LY4TKMBAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGYYTAMRUHA
.
You are receiving this because you commented.Message ID:
@.***>

Try this
Sort players based on roster order
players.sort(key=lambda x: x.roster_order)
Select players for positions 1-6
selected_players = [player for player in players if player.roster_order in
['1', '2', '3', '4', '5', '6']]
Add selected players for stacking
optimizer.add_stack(TeamStack(3, for_teams=['ATL'], for_positions=None,
spacing=None).build_stacks(selected_players, optimizer))
On Wed, Apr 10, 2024, 2:17 AM joseph offen @.***> wrote:

Still looking into it
On Wed, Apr 10, 2024, 2:16 AM G Dub D @.***> wrote:

TypeError Traceback (most recent call last)
Cell In[234], line 1
----> 1 optimizer.add_stack(TeamStack(3, for_teams=['ATL'],
for_roster_order=['7', '8', '9'], spacing=9999))
TypeError: TeamStack.init() got an unexpected keyword argument
'for_roster_order'
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046610248,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7U3V2ZO67DPPTPKD6LY4TKMBAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGYYTAMRUHA
.
You are receiving this because you commented.Message ID:
@.***>

I'll look into it more this weekend for you
On Wed, Apr 10, 2024, 2:26 AM G Dub D @.***> wrote:

NameError Traceback (most recent call last)
Cell In[259], line 1
----> 1 players.sort(key=lambda x: x.roster_order)
NameError: name 'players' is not defined
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046621424,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7VWUJL3BRDFZNPWIB3Y4TLSLAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGYZDCNBSGQ
.
You are receiving this because you commented.Message ID:
@.***>

I am trying multiple things over here between msgs but I am not being much help but I appreciate evrything you are doing to assist. If I somehow get it I will let you know also. Thx again

Can you send your config to @.***
On Wed, Apr 10, 2024, 2:27 AM joseph offen @.***> wrote:

I'll look into it more this weekend for you
On Wed, Apr 10, 2024, 2:26 AM G Dub D @.***> wrote:

NameError Traceback (most recent call last)
Cell In[259], line 1
----> 1 players.sort(key=lambda x: x.roster_order)
NameError: name 'players' is not defined
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046621424,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7VWUJL3BRDFZNPWIB3Y4TLSLAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGYZDCNBSGQ
.
You are receiving this because you commented.Message ID:
@.***>

You want me to send the Excel file along with the Notebook?

pip install pydfs-lineup-optimizer
from pydfs_lineup_optimizer import get_optimizer, Site, Sport
from pydfs_lineup_optimizer import TeamStack, PlayersGroup
from pydfs_lineup_optimizer.stacks import GameStack, TeamStack, PositionsStack, NestedPlayersGroup, OptimizerStack, Stack
optimizer = get_optimizer(Site.DRAFTKINGS, Sport. BASEBALL)
optimizer.load_players_from_csv(r"C:\Users\Greg\Downloads\MLB DFS.csv")
optimizer.restrict_positions_for_opposing_team(['SP', 'RP'], ['1B', '1B/2B', '1B/3B', '1B/OF','1B/C','1B/SS', '2B', '2B/C', '2B/3B', '2B/OF', '2B/SS', '3B', '3B/OF', '3B/SS', 'C', 'C/1B', 'C/2B', 'C/OF', 'OF', 'SS','OF/SS', 'SS/OF'])
optimizer.add_stack(TeamStack(4, for_teams=['ATL'], for_positions=['1B', '2B', '3B', 'OF', 'SS'])) #smallest slate <5 games use 5 man stacks
optimizer.add_stack(TeamStack(3, for_teams=['LAA'],   for_positions=['1B', '2B', '3B', 'OF', 'SS']))
optimizer.add_stack(TeamStack(2, for_teams=['ATL'], for_positions=['1B', '2B', '3B', 'OF', 'SS']))
SP1 = optimizer.player_pool.get_player_by_name("Nathan Eovaldi")
SP1.min_exposure = .9
SP1.max_exposure = 1
SP2 = optimizer.player_pool.get_player_by_name("Carlos Rodon")
SP2.min_exposure = .9
SP2.max_exposure = 1
#SP2 = optimizer.player_pool.get_player_by_name("Tyler Alexander")
#SP2.min_exposure = .2
#SP2.max_exposure = .2
lineups = optimizer.optimize(n=20)
lineups
lineups = list(optimizer.optimize(20))
lineups
optimizer.export(r'C:\Users\Greg\Downloads\MLB Starters.csv')
for lineup in lineups:
print(lineup)
optimizer.print_statistic()

Just the code
On Wed, Apr 10, 2024, 2:35 AM G Dub D @.***> wrote:

You want me to send the Excel file along with the Notebook?
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046631081,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7UWP4GFRE7Y2XKMYZ3Y4TMSXAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGYZTCMBYGE
.
You are receiving this because you commented.Message ID:
@.***>

The only additonal column I have in my csv is the Roster Order In that code I did not have any of the code for the Roster Order because it was not doing what I was wanting.

No problem I'll trouble shoot
On Wed, Apr 10, 2024, 2:49 AM G Dub D @.***> wrote:

The only additonal column I have in my csv is the Roster Order In that
code I did not have any of the code for the Roster Order because it was not
doing what I was wanting.
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046650386,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7WVZVL5TACC5OVW65DY4TOIHAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGY2TAMZYGY
.
You are receiving this because you commented.Message ID:
@.***>

Can you see if this runs since I'm not home ,
from pydfs_lineup_optimizer import get_optimizer, Site, Sport
from pydfs_lineup_optimizer import TeamStack, PlayersGroup
from pydfs_lineup_optimizer.stacks import GameStack, PositionsStack,
NestedPlayersGroup, OptimizerStack, Stack
from typing import List, Optional, Dict
class CustomTeamStack(TeamStack):
def build_stacks(self, players: List[Player], optimizer:
'LineupOptimizer') -> List[OptimizerStack]:
players = [player for player in players if player.roster_order not
in [7, 8, 9] if player.roster_order is not None]
return super().build_stacks(players, optimizer)
optimizer = get_optimizer(Site.DRAFTKINGS, Sport.BASEBALL)
Load players and set restrictions as before
optimizer.add_stack(CustomTeamStack(4, for_teams=['ATL'],
for_positions=['1B', '2B', '3B', 'OF', 'SS']))
optimizer.add_stack(CustomTeamStack(3, for_teams=['LAA'],
for_positions=['1B', '2B', '3B', 'OF', 'SS']))
optimizer.add_stack(CustomTeamStack(2, for_teams=['ATL'],
for_positions=['1B', '2B', '3B', 'OF', 'SS']))
Set player exposures for SP1 and SP2 as before
lineups = optimizer.optimize(n=20)
On Wed, Apr 10, 2024, 2:50 AM joseph offen @.***> wrote:

No problem I'll trouble shoot
On Wed, Apr 10, 2024, 2:49 AM G Dub D @.***> wrote:

The only additonal column I have in my csv is the Roster Order In that
code I did not have any of the code for the Roster Order because it was not
doing what I was wanting.
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046650386,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7WVZVL5TACC5OVW65DY4TOIHAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGY2TAMZYGY
.
You are receiving this because you commented.Message ID:
@.***>

optimizer = get_optimizer(Site.DRAFTKINGS, Sport. BASEBALL)
optimizer.load_players_from_csv(r"C:\Users\Greg\Downloads\MLB DFS.csv")
I didn't add this like before
On Wed, Apr 10, 2024, 3:01 AM joseph offen @.***> wrote:

Can you see if this runs since I'm not home ,
from pydfs_lineup_optimizer import get_optimizer, Site, Sport
from pydfs_lineup_optimizer import TeamStack, PlayersGroup
from pydfs_lineup_optimizer.stacks import GameStack, PositionsStack,
NestedPlayersGroup, OptimizerStack, Stack
from typing import List, Optional, Dict
class CustomTeamStack(TeamStack):
def build_stacks(self, players: List[Player], optimizer:
'LineupOptimizer') -> List[OptimizerStack]:
players = [player for player in players if player.roster_order not
in [7, 8, 9] if player.roster_order is not None]
return super().build_stacks(players, optimizer)
optimizer = get_optimizer(Site.DRAFTKINGS, Sport.BASEBALL)
Load players and set restrictions as before
optimizer.add_stack(CustomTeamStack(4, for_teams=['ATL'],
for_positions=['1B', '2B', '3B', 'OF', 'SS']))
optimizer.add_stack(CustomTeamStack(3, for_teams=['LAA'],
for_positions=['1B', '2B', '3B', 'OF', 'SS']))
optimizer.add_stack(CustomTeamStack(2, for_teams=['ATL'],
for_positions=['1B', '2B', '3B', 'OF', 'SS']))
Set player exposures for SP1 and SP2 as before
lineups = optimizer.optimize(n=20)
On Wed, Apr 10, 2024, 2:50 AM joseph offen @.***> wrote:

No problem I'll trouble shoot
On Wed, Apr 10, 2024, 2:49 AM G Dub D @.***> wrote:

The only additonal column I have in my csv is the Roster Order In that
code I did not have any of the code for the Roster Order because it was not
doing what I was wanting.
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046650386,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7WVZVL5TACC5OVW65DY4TOIHAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGY2TAMZYGY
.
You are receiving this because you commented.Message ID:
@.***>

Got this but i may have something incorrect on my end I kinda rushed
NameError                                 Traceback (most recent call last)
Cell In[4], line 1
----> 1 class CustomTeamStack(TeamStack):
2     def build_stacks(self, players: List[Player], optimizer:
3 'LineupOptimizer') -> List[OptimizerStack]:
4         players = [player for player in players if player.roster_order not
5 in [7, 8, 9] if player.roster_order is not None]
Cell In[4], line 2, in CustomTeamStack()
1 class CustomTeamStack(TeamStack):
----> 2     def build_stacks(self, players: List[Player], optimizer:
3 'LineupOptimizer') -> List[OptimizerStack]:
4         players = [player for player in players if player.roster_order not
5 in [7, 8, 9] if player.roster_order is not None]
6         return super().build_stacks(players, optimizer)
NameError: name 'Player' is not defined

Had a misalignment but still got same Error
NameError                                 Traceback (most recent call last)
Cell In[30], line 1
----> 1 class CustomTeamStack(TeamStack):
2     def build_stacks(self, players: List[Player], optimizer:'LineupOptimizer') -> List[OptimizerStack]:
3         players = [player for player in players if player.roster_order not in [7, 8, 9] if player.roster_order is not None]
Cell In[30], line 2, in CustomTeamStack()
1 class CustomTeamStack(TeamStack):
----> 2     def build_stacks(self, players: List[Player], optimizer:'LineupOptimizer') -> List[OptimizerStack]:
3         players = [player for player in players if player.roster_order not in [7, 8, 9] if player.roster_order is not None]
4         return super().build_stacks(players, optimizer)
NameError: name 'Player' is not defined

from pydfs_lineup_optimizer import Player
Add that to the top to see
On Wed, Apr 10, 2024, 3:16 AM G Dub D @.***> wrote:

Had a misalignment but still got same Error
NameError Traceback (most recent call last)
Cell In[30], line 1
----> 1 class CustomTeamStack(TeamStack):
2 def build_stacks(self, players: List[Player],
optimizer:'LineupOptimizer') -> List[OptimizerStack]:
3 players = [player for player in players if player.roster_order not in
[7, 8, 9] if player.roster_order is not None]
Cell In[30], line 2, in CustomTeamStack()
1 class CustomTeamStack(TeamStack):
----> 2 def build_stacks(self, players: List[Player],
optimizer:'LineupOptimizer') -> List[OptimizerStack]:
3 players = [player for player in players if player.roster_order not in
[7, 8, 9] if player.roster_order is not None]
4 return super().build_stacks(players, optimizer)
NameError: name 'Player' is not defined
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046693597,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7RN65LO34BABYQYS7DY4TROBAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGY4TGNJZG4
.
You are receiving this because you commented.Message ID:
@.***>

That ran perfect with one exception it no longer is showing the lineup order beside the player like it was
*New

P       Zack Wheeler                  SP    PHI            PHI@STL  21.89          9600.0$
P       Merrill Kelly                 SP    ARI            ARI@COL  19.19          8400.0$
C       J.T. Realmuto                 C     PHI            PHI@STL  9.19           4700.0$
1B      Nolan Schanuel                1B    LAA            TB@LAA   6.71           3600.0$
2B      Ozzie Albies                  2B    ATL            NYM@ATL  8.63           5500.0$
3B      Anthony Rendon                3B    LAA            TB@LAA   5.83           3400.0$
SS      Orlando Arcia                 SS    ATL            NYM@ATL  6.31           3600.0$
OF      Jarred Kelenic                OF    ATL            NYM@ATL  6.93           3600.0$
OF      Michael Harris II             OF    ATL            NYM@ATL  8.54           4400.0$
OF      Mickey Moniak                 OF    LAA            TB@LAA   7.23           3200.0$

*Old

P       Zack Wheeler                  SP    PHI            PHI@STL  21.89          9600.0$
P       Merrill Kelly                 SP    ARI            ARI@COL  19.19          8400.0$
C       Gabriel Moreno(2)             C     ARI            ARI@COL  8.0            4100.0$
1B      Jake Cronenworth(3)           1B    SD             CHC@SD   8.75           4100.0$
2B      Xander Bogaerts(1)            2B    SD             CHC@SD   8.97           4900.0$
3B      Tyler Wade(9)                 3B    SD             CHC@SD   6.84           2600.0$
SS      Jace Peterson(6)              SS    ARI            ARI@COL  8.51           3100.0$
OF      Corbin Carroll(1)             OF    ARI            ARI@COL  11.96          5700.0$
OF      Joc Pederson(3)               OF    ARI            ARI@COL  10.55          4200.0$
OF      Jackson Merrill(8)            OF    SD             CHC@SD   7.57           3200.0$

I'm not sure why that changed
On Wed, Apr 10, 2024, 3:27 AM G Dub D @.***> wrote:

That ran perfect with one exception it no longer is showing the lineup
order beside the player like it was
*New

P Zack Wheeler SP PHI @.*** 21.89 9600.0$
P Merrill Kelly SP ARI @.*** 19.19 8400.0$
C J.T. Realmuto C PHI @.*** 9.19 4700.0$
1B Nolan Schanuel 1B LAA @.*** 6.71 3600.0$
2B Ozzie Albies 2B ATL @.*** 8.63 5500.0$
3B Anthony Rendon 3B LAA @.*** 5.83 3400.0$
SS Orlando Arcia SS ATL @.*** 6.31 3600.0$
OF Jarred Kelenic OF ATL @.*** 6.93 3600.0$
OF Michael Harris II OF ATL @.*** 8.54 4400.0$
OF Mickey Moniak OF LAA @.*** 7.23 3200.0$

*Old

P Zack Wheeler SP PHI @.*** 21.89 9600.0$
P Merrill Kelly SP ARI @.*** 19.19 8400.0$
C Gabriel Moreno(2) C ARI @.*** 8.0 4100.0$
1B Jake Cronenworth(3) 1B SD @.*** 8.75 4100.0$
2B Xander Bogaerts(1) 2B SD @.*** 8.97 4900.0$
3B Tyler Wade(9) 3B SD @.*** 6.84 2600.0$
SS Jace Peterson(6) SS ARI @.*** 8.51 3100.0$
OF Corbin Carroll(1) OF ARI @.*** 11.96 5700.0$
OF Joc Pederson(3) OF ARI @.*** 10.55 4200.0$
OF Jackson Merrill(8) OF SD @.*** 7.57 3200.0$

—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046716986,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7T6MQ37RKAUTAVG4V3Y4TSW3AVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWG4YTMOJYGY
.
You are receiving this because you commented.Message ID:
@.***>

Still getting multiple 7,8, 9 batters with it

Darn
On Wed, Apr 10, 2024, 4:00 AM G Dub D @.***> wrote:

Still getting multiple 7,8, 9 batters with it
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046815229,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7XAOXDKIOJ5IN27XLTY4TWSHAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHAYTKMRSHE
.
You are receiving this because you commented.Message ID:
@.***>

class CustomTeamStack(TeamStack):
def build_stacks(self, players, optimizer) -> List[OptimizerStack]:
    filtered_players = [player for player in players if

player.roster_order not in [7, 8, 9] or player.roster_order is None]
return super().build_stacks(filtered_players, optimizer)
Replace the old code to this
I added or instead of if
On Wed, Apr 10, 2024, 4:01 AM joseph offen @.***> wrote:

Darn
On Wed, Apr 10, 2024, 4:00 AM G Dub D @.***> wrote:

Still getting multiple 7,8, 9 batters with it
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046815229,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7XAOXDKIOJ5IN27XLTY4TWSHAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHAYTKMRSHE
.
You are receiving this because you commented.Message ID:
@.***>

If we can't figure something out we will try Friday or sat
On Wed, Apr 10, 2024, 4:08 AM G Dub D @.***> wrote:

Here is the breakdown for this MLB season so far as to how they score
I only count them if they were in the top 20 scorers on the slates
I added by positions how they breakdown below also
You can see after 5th it drops nearly in half and by positions the OF is
by far the leading position
*By Batting Order
1 | 15.9%
2 | 14.6%
3 | 15.9%
4 | 12.4%
5 | 12.0%
6 | 8.2%
7 | 7.7%
8 | 7.7%
9 | 5.6%
*Positions
OF | 43.8%
1B | 10.0%
1B/OF | 3.8%
2B/OF | 0.4%
3B | 8.3%
1B/2B | 0.4%
C | 7.1%
2B | 10.0%
SS | 11.7%
2B/3B | 0.4%
2B/SS | 1.7%
3B/SS | 0.8%
3B/OF | 0.4%
1B/3B | 0.8%
1B/C | 0.4%
OF/SS | 0.0%
1B/SS | 0.0%
2B/C | 0.0%
C/OF | 0.0%
3B/C | 0.0%
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046839207,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7TOWHMOMM2B6D7YIQLY4TXQXAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHAZTSMRQG4
.
You are receiving this because you commented.Message ID:
@.***>

Can you send the players-list to my email address?
On Wed, Apr 10, 2024, 4:10 AM joseph offen @.***> wrote:

If we can't figure something out we will try Friday or sat
On Wed, Apr 10, 2024, 4:08 AM G Dub D @.***> wrote:

Here is the breakdown for this MLB season so far as to how they score
I only count them if they were in the top 20 scorers on the slates
I added by positions how they breakdown below also
You can see after 5th it drops nearly in half and by positions the OF is
by far the leading position
*By Batting Order
1 | 15.9%
2 | 14.6%
3 | 15.9%
4 | 12.4%
5 | 12.0%
6 | 8.2%
7 | 7.7%
8 | 7.7%
9 | 5.6%
*Positions
OF | 43.8%
1B | 10.0%
1B/OF | 3.8%
2B/OF | 0.4%
3B | 8.3%
1B/2B | 0.4%
C | 7.1%
2B | 10.0%
SS | 11.7%
2B/3B | 0.4%
2B/SS | 1.7%
3B/SS | 0.8%
3B/OF | 0.4%
1B/3B | 0.8%
1B/C | 0.4%
OF/SS | 0.0%
1B/SS | 0.0%
2B/C | 0.0%
C/OF | 0.0%
3B/C | 0.0%
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046839207,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7TOWHMOMM2B6D7YIQLY4TXQXAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHAZTSMRQG4
.
You are receiving this because you commented.Message ID:
@.***>

yeah no problem

Here is the Excel file in xlsx that way you can see everything that I use.
May be easier that way.
On Wed, Apr 10, 2024 at 3:41 AM Denwen12 @.***> wrote:

Can you send the players-list to my email address?
On Wed, Apr 10, 2024, 4:10 AM joseph offen @.***> wrote:

If we can't figure something out we will try Friday or sat
On Wed, Apr 10, 2024, 4:08 AM G Dub D @.***> wrote:

Here is the breakdown for this MLB season so far as to how they score
I only count them if they were in the top 20 scorers on the slates
I added by positions how they breakdown below also
You can see after 5th it drops nearly in half and by positions the OF
is
by far the leading position
*By Batting Order
1 | 15.9%
2 | 14.6%
3 | 15.9%
4 | 12.4%
5 | 12.0%
6 | 8.2%
7 | 7.7%
8 | 7.7%
9 | 5.6%
*Positions
OF | 43.8%
1B | 10.0%
1B/OF | 3.8%
2B/OF | 0.4%
3B | 8.3%
1B/2B | 0.4%
C | 7.1%
2B | 10.0%
SS | 11.7%
2B/3B | 0.4%
2B/SS | 1.7%
3B/SS | 0.8%
3B/OF | 0.4%
1B/3B | 0.8%
1B/C | 0.4%
OF/SS | 0.0%
1B/SS | 0.0%
2B/C | 0.0%
C/OF | 0.0%
3B/C | 0.0%
—
Reply to this email directly, view it on GitHub
<
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046839207>,

or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/ANBWO7TOWHMOMM2B6D7YIQLY4TXQXAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHAZTSMRQG4>

.
You are receiving this because you commented.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046920655,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWNNK4FYPKA7NPAEXCUQJWDY4T3M7AVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHEZDANRVGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

Send it via email @.***
On Wed, Apr 10, 2024, 4:47 AM G Dub D @.***> wrote:

Here is the Excel file in xlsx that way you can see everything that I use.
May be easier that way.
On Wed, Apr 10, 2024 at 3:41 AM Denwen12 @.***> wrote:

Can you send the players-list to my email address?
On Wed, Apr 10, 2024, 4:10 AM joseph offen @.***> wrote:

If we can't figure something out we will try Friday or sat
On Wed, Apr 10, 2024, 4:08 AM G Dub D @.***> wrote:

Here is the breakdown for this MLB season so far as to how they score
I only count them if they were in the top 20 scorers on the slates
I added by positions how they breakdown below also
You can see after 5th it drops nearly in half and by positions the OF
is
by far the leading position
*By Batting Order
1 | 15.9%
2 | 14.6%
3 | 15.9%
4 | 12.4%
5 | 12.0%
6 | 8.2%
7 | 7.7%
8 | 7.7%
9 | 5.6%
*Positions
OF | 43.8%
1B | 10.0%
1B/OF | 3.8%
2B/OF | 0.4%
3B | 8.3%
1B/2B | 0.4%
C | 7.1%
2B | 10.0%
SS | 11.7%
2B/3B | 0.4%
2B/SS | 1.7%
3B/SS | 0.8%
3B/OF | 0.4%
1B/3B | 0.8%
1B/C | 0.4%
OF/SS | 0.0%
1B/SS | 0.0%
2B/C | 0.0%
C/OF | 0.0%
3B/C | 0.0%
—
Reply to this email directly, view it on GitHub
<

https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046839207>,

or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/ANBWO7TOWHMOMM2B6D7YIQLY4TXQXAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHAZTSMRQG4>

.
You are receiving this because you commented.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
<
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046920655>,

or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AWNNK4FYPKA7NPAEXCUQJWDY4T3M7AVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHEZDANRVGU>

.
You are receiving this because you authored the thread.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046931387,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7UFWPW6URZJNCMBUOTY4T4B7AVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHEZTCMZYG4
.
  C o m
Without spaces
On Wed, Apr 10, 2024, 4:53 AM G Dub D @.***> wrote:

why is the email showing up as a bunch of *******. Or am i not savvy enuf
to know how to see them yet
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046943205,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7SKIBIBMZ4DWAVHKWTY4T4W7AVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHE2DGMRQGU
.
You are receiving this because you commented.Message ID:
@.***>

I believe that is what you were wanting.  Let me know if that is correct. It is from last nights Draftkings slate

Yes, that's it. I'll try to get something working
On Wed, Apr 10, 2024, 4:58 AM G Dub D @.***> wrote:

I believe that is what you were wanting. Let me know if that is correct.
It is from last nights Draftkings slate
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/426#issuecomment-2046954266,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7R5VSCJVQNGYWI2ZELY4T5MRAVCNFSM6AAAAABF7VX7GCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWHE2TIMRWGY
.
You are receiving this because you commented.Message ID:
@.***>

Thx for all the help and I am signing off for a bit

Here is the breakdown for this MLB season so far as to how they score I only count them if they were in the top 20 scorers on the slates I added by positions how they breakdown below also You can see after 5th it drops nearly in half and by positions the OF is by far the leading position
*By Batting Order 1 | 15.9% 2 | 14.6% 3 | 15.9% 4 | 12.4% 5 | 12.0% 6 | 8.2% 7 | 7.7% 8 | 7.7% 9 | 5.6%
*Positions OF | 43.8% 1B | 10.0% 1B/OF | 3.8% 2B/OF | 0.4% 3B | 8.3% 1B/2B | 0.4% C | 7.1% 2B | 10.0% SS | 11.7% 2B/3B | 0.4% 2B/SS | 1.7% 3B/SS | 0.8% 3B/OF | 0.4% 1B/3B | 0.8% 1B/C | 0.4% OF/SS | 0.0% 1B/SS | 0.0% 2B/C | 0.0% C/OF | 0.0% 3B/C | 0.0%

this is DK data right?  Would you happen to have FD Data like this?  Good stuff man, always looking for an edge.


Loading Spinner

The problem that i was facing for my project that there was no loading spinner in it. Kindly add a loading spinner in your package.
Thanks in advance

@dkdanish98 Can you please clarify when the loading spinner should be shown?

Closing this issue.


[Request] Page 233 "Apply Vendor Entries" - Move variable

Move the variable "var ApplnRounding: Decimal" to "protected var" to allow to retrieve it in an extension page.

This variable already in protected var section in 18.x

This variable already in protected var section in 18.x


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/83768

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/84320

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/85801


Question on Filter bridge on how to add multiple words to filter out?

I didn't see anywhere how to add multiple filters on the filter bridge.
Would you need commas? (Ex. rude, mean) Would you need spaces in between each word? Or leave no space? (Ex. rude,mean)
Is there a way to filter only a specific phrase of words such as "White Whale" would putting in two entries delete any instance where it mentions white or whale. or does it delete only white because its in front. Or would this only delete every instance of white and whale together?

Is this even the right place to put this? Or should I put it in the Discussions tab. I really do want to use freshrss's filtering but it doesn't seem like there's a way to add multiple filters. I've tried separating by semicolons, colons, commas, and none of them seem to work. Is it even possible or is it just a limitation in the code?

It's a regular expression so can do (evil|mean|rude)


Unable to resolve dependency added through url

Hello,
I'm trying to add npm dependency through url.
E.g.
npm i react-redux-form
works well and this is package.json in node_moules
...
  "_args": [
    [
      {
        "raw": "react-redux-form",
        "scope": null,
        "escapedName": "react-redux-form",
        "name": "react-redux-form", //NAME POPULATED
        "rawSpec": "",
        "spec": "latest",
        "type": "tag"
      },
    ]
  ]
...

But if I add it through URL,
npm i<EMAIL_ADDRESS>package.json seems different and I'm unable to resolve path for 'react-redux-form':
...
  "_args": [
    [
      {
        "raw"<EMAIL_ADDRESS>        "scope": null,
        "escapedName": null,
        "name": null, //NAME IS NULL
        "rawSpec"<EMAIL_ADDRESS>        "spec"<EMAIL_ADDRESS>        "type": "hosted",
        "hosted": {
          "type": "github",
          "ssh": "git@github.com:davidkpiano/react-redux-form.git",
          "sshUrl"<EMAIL_ADDRESS>          "httpsUrl": "git+https://github.com/davidkpiano/react-redux-form.git",
          "gitUrl": "git://github.com/davidkpiano/react-redux-form.git",
          "shortcut": "github:davidkpiano/react-redux-form",
          "directUrl": "https://raw.githubusercontent.com/davidkpiano/react-redux-form/master/package.json"
        }
      },
    ]
  ]
...

I tried adding it via following commands but got same otuput.
npm install <git-host>:<git-user>/<repo-name>
npm install <tarball url>
npm install <git repo url>

Hey @jasenkoh,
npm i<EMAIL_ADDRESS>worked for me.
Can you show that this issue is specific to react-boilerplate's setup? Did you try it with a different repo or different versions of node/npm? Closing for now as it seems more likely related to npm if anything.


pretrained ScanRefer_3DVG_pretrain model

Hello, do you have the pretrained ScanRefer_3DVG_pretrain model here? Is it convenient to send the pre-trained model?

Please try this: https://drive.google.com/file/d/1a-ABCwEnaN4uPhKd7fygw9oLZ-PcCNP0/view?usp=drive_link

Please try this: https://drive.google.com/file/d/1a-ABCwEnaN4uPhKd7fygw9oLZ-PcCNP0/view?usp=drive_link

Thanks, the request has been sent.

Please try this: https://drive.google.com/file/d/1a-ABCwEnaN4uPhKd7fygw9oLZ-PcCNP0/view?usp=drive_link

Thanks, the request has been sent.

I used the pre-trained model you sent to jointly train 3DVG and 3DDC, but still reported the error RuntimeError: CUDA error: device-side assert triggered.

The above is part of my data. Hope to get some suggestions, thank you very much.

The data structure is completed.


Follow File Explorer naming preferences when creating a shortcut

What's the Problem?
I modified the Regedit using this tutorial so that each time I do a shortcut, the "- shortcut" suffix that is originally appended at the end does not appear anymore.
Solution/Idea
Have "Files" uses the same system as "Files explorer".
Alternatives
N/A
Priorities
No response
Files Version
Version: <IP_ADDRESS> OS Version: 10.0.19042.1586
Windows Version
20H2
Comments
Not sure of the technical stuff, it was proposed to me by @Josh-65

To add Files should follow how file explorer renames (if possible) or add an option to not add "- shortcut".

I opened a PR for this but I'd like to get some additional feedback before merging it.


Simplify {Float,Double,Float80}.init(_: String)

The original version scanned the entire input string for whitespace and
non-ASCII characters.  Both are unnecessary: the C routines we're building on
already stop at non-ASCII characters or non-leading whitespace.  So we need only
check the first character for whitespace and verify that all characters are
consumed.
This demonstrates significant improvements for -Onone benchmarks:
about 4k smaller RSS and 3x speedups.  I'm not seeing any local
changes to the -O benchmarks, however.
Resolves rdar://33045403
Future: We could further improve this by pushing these checks down into the runtime
stubs and simplifying the ABI so those stubs just returne a success/failure boolean.
In particular, that would avoid inlining these checks into every client.

@swift-ci Please smoke test Linux

@swift-ci Please smoke test macOS

@swift-ci please benchmark

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

ObjectiveCBridgeStringHash
67
78
+16.4%
0.86x

Improvement
OLD
NEW
DELTA
RATIO

ParseFloat.Double.Exp
18
12
-33.3%
1.50x

ParseFloat.Float.Exp
17
13
-23.5%
1.31x

ParseFloat.Float.Uniform
40
32
-20.0%
1.25x

ParseFloat.Double.Uniform
59
50
-15.3%
1.18x (?)

ParseFloat.Float80.Exp
54
47
-13.0%
1.15x (?)

EqualSubstringSubstring
42
39
-7.1%
1.08x (?)

LessSubstringSubstring
42
39
-7.1%
1.08x (?)

EqualSubstringSubstringGenericEquatable
42
39
-7.1%
1.08x (?)

EqualSubstringString
42
39
-7.1%
1.08x (?)

LessSubstringSubstringGenericComparable
42
39
-7.1%
1.08x (?)

Code size: -O

Improvement
OLD
NEW
DELTA
RATIO

FloatingPointParsing.o
15274
13649
-10.6%
1.12x

Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

FlattenListLoop
4451
5302
+19.1%
0.84x (?)

ObjectiveCBridgeStringHash
68
78
+14.7%
0.87x (?)

NSStringConversion.MutableCopy.UTF8
788
859
+9.0%
0.92x (?)

Improvement
OLD
NEW
DELTA
RATIO

ParseFloat.Double.Exp
27
12
-55.6%
2.25x

ParseFloat.Float.Exp
22
13
-40.9%
1.69x

ParseFloat.Float.Uniform
51
32
-37.3%
1.59x

ParseFloat.Double.Uniform
71
50
-29.6%
1.42x

ParseFloat.Float80.Exp
62
47
-24.2%
1.32x

ObjectiveCBridgeFromNSArrayAnyObjectToString
44700
41200
-7.8%
1.08x (?)

EqualSubstringString
42
39
-7.1%
1.08x (?)

EqualSubstringSubstring
43
40
-7.0%
1.07x (?)

LessSubstringSubstring
43
40
-7.0%
1.07x (?)

EqualStringSubstring
43
40
-7.0%
1.07x (?)

EqualSubstringSubstringGenericEquatable
43
40
-7.0%
1.07x

LessSubstringSubstringGenericComparable
43
40
-7.0%
1.07x

Code size: -Osize

Improvement
OLD
NEW
DELTA
RATIO

FloatingPointParsing.o
14696
13257
-9.8%
1.11x

Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

ArrayAppendLatin1
25024
30940
+23.6%
0.81x (?)

ArrayAppendAscii
24752
30464
+23.1%
0.81x (?)

ArrayAppendUTF16
24888
30566
+22.8%
0.81x (?)

ObjectiveCBridgeStringHash
67
78
+16.4%
0.86x (?)

ArrayPlusEqualSingleElementCollection
214508
245387
+14.4%
0.87x (?)

ArrayPlusEqualFiveElementCollection
171643
195101
+13.7%
0.88x (?)

Dictionary4Legacy
1275
1409
+10.5%
0.90x (?)

ArrayOfPOD
1037
1121
+8.1%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

ObjectiveCBridgeStubFromNSDateRef
5370
4280
-20.3%
1.25x (?)

ParseFloat.Double.Exp
49
43
-12.2%
1.14x (?)

ParseFloat.Float.Uniform
74
65
-12.2%
1.14x (?)

ParseFloat.Float80.Exp
89
79
-11.2%
1.13x (?)

ParseFloat.Double.Uniform
93
84
-9.7%
1.11x (?)

DictionaryCompactMapValuesOfCastValue
67284
61128
-9.1%
1.10x (?)

DictionaryBridgeToObjC_Access
1224
1116
-8.8%
1.10x (?)

StringBuilderWithLongSubstring
2850
2620
-8.1%
1.09x (?)

LessSubstringSubstringGenericComparable
50
46
-8.0%
1.09x (?)

EqualSubstringString
51
47
-7.8%
1.09x

StringUTF16SubstringBuilder
17910
16530
-7.7%
1.08x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB


feat: support plugin-basic-ssl

Summary
Related Links
#2175
Checklist

[ ] Tests updated (or not required).
[x] Documentation updated (or not required).

Thanks! This is a good start for SSL support, and we can continue to improve this plugin in the future.


Fix homepage style, like the H1 tag there, make it look good

Also center the NC State in the homepage, so that we dont scroll down, maybe use 100vh in styling

Done.


soroban-example-dapp: add support for fees

What ?
Add support for fees
Epic
https://github.com/stellar/soroban-tools/issues/519

@tsachiherman , I think the changes for simulation data on js-soroban-client #77 are shaping up to be backwards compatible with the current dapp, as dapp submits tx with classic fee(via soroban-react lib) to soroban-client::prepareTransaction which hasn't had an interface change, under the hood it applies the new SorobanTransactionData,Auth, Fees from simulation onto the user's tx. It appends the new fee onto existing classic fee for final tx fee. So, end result would be same UX flow from pledge button to freighter wallet popup display to then updated pledged amounts.
the scope here doesn't mention ux changes, so, if this silent final fee flow is ok then the scope here should be pretty limited to just updating the version ref to js-soroban-client.
we can do additional changes to show new UX activity like a user dialog popup with a confirm for the fees, but that could be addressed in a post-release feature if you agree.

@tsachiherman , I think the changes for simulation data on js-soroban-client #77 are shaping up to be backwards compatible with the current dapp, as dapp submits tx with classic fee(via soroban-react lib) to soroban-client::prepareTransaction which hasn't had an interface change, under the hood it applies the new SorobanTransactionData,Auth, Fees from simulation onto the user's tx. It appends the new fee onto existing classic fee for final tx fee. So, end result would be same UX flow from pledge button to freighter wallet popup display to then updated pledged amounts.
the scope here doesn't mention ux changes, so, if this silent final fee flow is ok then the scope here should be pretty limited to just updating the version ref to js-soroban-client.
we can do additional changes to show new UX activity like a user dialog popup with a confirm for the fees, but that could be addressed in a post-release feature if you agree.

It's ok that we don't add any UI to iterate not the fees selection, but we still need to add a in-code comment where that functionality would be implemented.
Also, this is the first place where we can actually test that these calculated fees truly work.. so we shouldn't close this ticket before validating the end-to-end functionality.


Affine groupwise registration & transform

Hello,
I'm trying to run a groupwise registration on a set of segmentations (seg_stack) and then transform the corresponding images (img_stack) using the obtained parameter map.
Everything runs fine if I use the default parameters for a groupwise registration:
elastixImageFilter = sitk.ElastixImageFilter
elastixImageFilter.SetFixedImage(seg_stack)
elastixImageFilter.SetMovingImage(seg_stack)
paramMap = sitk.GetDefaultParameterMap("groupwise")
# paramMap['Transform'] = ["EulerStackTransform"]
# paramMap['Transform'] = ["AffineLogStackTransform"]
elastixImageFilter.SetParameterMap(paramMap)
seg_stack = elastixImageFilter.Execute()
transformixImageFilter = sitk.TransformixImageFilter()
transformixImageFilter.SetTransformParameterMap(elastixImageFilter.GetTransformParameterMap())
transformixImageFilter.SetMovingImage(img_stack)
img_stack = transformixImageFilter.Execute()
I believe this runs BSplineStackTransform, however, I would like to test rigid and affine groupwise registrations too.
When setting the transform to EulerStackTransform or AffineLogStackTransform, the registration runs fine but the transformation raises the following exception:
Description: itk::ERROR: EulerStackTransform(0x24358a0): Transform parameter file is corrupt.
respectively
Description: itk::ERROR: AffineLogStackTransform(0x1b2e950): Transform parameter file is corrupt.
Any ideas how I could fix this?
Thanks in advance for your help!
Alice

Hi,
Just wanted to remark that I am encountering the same problem. When I try to use AffineLogStackTransform (even alone) the registration seems to work, but applying the transformation to a different set of images fails with the exact same error described above.
Would be great to get some feedback. Is this a bug or are there other things to consider when using AffineLogStackTransform or EulerStackTransform?
Thanks!


Create QA data service

[ ] Valid response is returned in Swagger
[ ] Verify API is documented correctly in Swagger UI

No longer needed. will be addressed by the Manage QA Data epic.


Add gitignore for examples

Let's ignore the output the examples folders for specific languages for now or actually add the example output in there. I think we should decide what we would like to do otherwise in development you always see some unstaged files if you write the output into the examples folder.
Why do we actually make a difference between iOS / macOS and not just ObjC. Do we have any platform specific code in the models?

The idea between iOS / macOS was to have sample projects that included those models to ensure they continue to build for each platform. I haven't added that yet though. We should also have a general ObjC folder for integration-style tests where we can see how the file output would have changed


Disable on_demand cert provisioning for Caddy

As described in the Caddy documentation, on_demand must be restricted to prevent abuse. In our case, it was not, leading to DoS vector in which a malicious client could DoS the caddy service by repeatedly initiating TLS requests with invalid domains at a rate high enough for the ACME service to rate limit.

Pull Request Test Coverage Report for Build 3f85e5e6361a19b817d35d1c15d675680dc5ded4-PR-1720

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 70.679%

Totals

Change from base Build 2f33f1739e7cfbd4b984a55e1bc7d24e7699830d:
0.0%

Covered Lines:
1967

Relevant Lines:
2783

💛  - Coveralls


Insufficient documentation for the sourceUrl argument to the JsRunScript function

The documentation for JsRunScript function at https://github.com/microsoft/ChakraCore/wiki/JsRunScript doesn't really tell much about allowed values (including the null pointer) and their interpretation for the sourceUrl argument:

sourceUrl: The location the script came from.

Scripts do not always come from "locations" as these uniform locations cannot be identified -- since one simply passes strings to JsRunScript, it makes no sense to mandate a location for such script.
I assumed the argument was optional and tried to pass NULL as value, but the function returned an error. What are my options? Am I supposed to cook up a bogus location to indicate no location condition? Like an empty string, for instance?

sourceUrl should be a string representing the filename of the script; this is shown in e.g. error stack traces, so you need to provide it.  It doesn't need to be an actual URL--it can be whatever filename/path/identifier format makes sense for your application.  If it's dynamic code you could even just call it "eval code" or something.
Error: oh no piggies!!!!!!!!!!
   at main (@/scripts/main.js:20:2)
   at Generator.prototype.next (native code)

Above, @/scripts/main.js is the sourceUrl for the script the error came from, followed by the line and column number.  You can provide an empty string, but this makes it harder to see where an error came from if there are several such scripts active at a time.
(Note that like the documentation says, JsRunScript() is Windows-specific, so if you care about cross-platform support, use JsRun instead.)

Thank you for the information you have provided.
Should I create a pull request and include this information you have just provided in the actual documentation -- the rightful place these things should be disclosed in?
On your related note, what dou mean "Windows-specific" -- which other platforms allow embedding Chakra Core? And isn't JsRun itself Windows-specific, too? I don't see where in documentation it says one is cross-platform and the other is not? The documentation at Microsoft Docs doesn't even list JsRun: https://docs.microsoft.com/en-us/microsoft-edge/hosting/chakra-hosting/reference-javascript-runtime
The Wiki for the repository also mentions "This API is experimental and may have breaking change later.", which suggests I should probably not be using it in production code.

From the page you linked:

This API is Windows-only (see JsRun for cross-platform equivalent).

ChakraCore itself is cross-platform and supports Linux and macOS as well as Windows.  The Edge Chakra stuff is built on top of that, but the canonical implementation is ChakraCore, i.e. this repository.  I’m using it myself in my miniSphere game engine.
The wiki reflects the state of the API in this repo.  As for experimental APIs, that just means it may get breaking changes in future versions (changing the parameters around, etc.); since you’d be distributing the ChakraCore DLL with your application anyway, this shouldn’t matter in practice.


Rendering of table I.8

Feature details
The math symbols in the table in I.8 (https://codebook.xanadu.ai/I.8) seem to not display properly.

Additional information
No response

Hey @kmyali! Looks like we addressed this, but forgot to notify you and close the issue. Closing now.


Export issue

I am facing a weired issue.
Export is working perfectly fine.
When I add a new, remove a node, then export shows perfect json data and I'am saving that exported output in database.
Next time, I imported from database and everything shown as original which is exported.
There is one issue.

In image, you can see that there is text box on each node and each node has default text. But, when I change the content in the textbox, no change is reflected in the exported json, it shows original content.

Hello,
Are you using the df variables?
You can use the attribute df- * in inputs, textarea or select to synchronize with the node data.
Multiple attributes parents support df - * - * ...
Jero

Whether any value also need to be passed in df- attributes or just blank like
<input type="text" name="email" value="Set email" df-name/>                      or
<input type="text" name="email" value="Set email" df-name="something"/>

Thanks a lot @jerosoler , with just adding df-*, correct value is showing after export, import. Working perfectly fine.


Strange ArticulationParameters value (rotating a turret)

Hi there, I have a turret rotating from left to right slowly and sending on DIS
In wireshark I can capture this ArticulationParameters[0] / ParameterValue :
0 => 0.78 (turning right) and then 0 => -0.78 (turning left) (which are fine values)
But using the DIS plugin I can get this :
0 => 0.000765 (turning right) and then 0 => -0.000765 (turning left) (which are strange values)
So I tought I would have to multiply by 1000 the ParameterValue... but even with this the rotating turret is animated in a jerky rather than linear fashion.
Do you have any ideas why the values are so much different ?

Are you performing both sending and receiving of the DIS packets from the DIS plugin? From running small tests on our end, the articulation parameters parameter value is received as expected when performing both sending and receiving with the DIS plugin.

Closing as there haven't been any updates for a few months.
Feel free to reopen if the issue persists.

Hello and sorry for the late answer.
In case it can help someone, I had to convert the received value from double to float in order to get the proper value I was looking for (in radiant).
Here is the patch :
Edit the file GRILLDISForUnreal\Source\DISRuntime\Public\PDUs\EntityInfoFamily\GRILL_EntityStatePDU.h
		//Articulation Parameters
		for (int i = 0; i < EntityStatePDUIn.getNumberOfArticulationParameters(); i++)
		{
			DIS::ArticulationParameter tempArtParam = EntityStatePDUIn.getArticulationParameters()[i];
			FArticulationParameters newArtParam;
			newArtParam.ParameterTypeDesignator = tempArtParam.getParameterTypeDesignator();
			newArtParam.ChangeIndicator = tempArtParam.getChangeIndicator();
			newArtParam.PartAttachedTo = tempArtParam.getPartAttachedTo();
			newArtParam.ParameterType = tempArtParam.getParameterType();

			if (newArtParam.ParameterTypeDesignator == 0)
			{
				//newArtParam.ParameterValue = tempArtParam.getParameterValue(); //Old code wich returns wrong double value

				double initialParamValue = tempArtParam.getParameterValue(); // New line added
				newArtParam.ParameterValue = ConvertUpperDoubleToFloat(initialParamValue); // New line added
			}
			else
			{
				newArtParam.AttachedPartType = tempArtParam.getParameterValue();
			}

			ArticulationParameters.Add(newArtParam);
		}
	}

	// New function added
	// Definition of the function that converts the upper 32 bits of a double value into a float
	float ConvertUpperDoubleToFloat(double dval) {
		uint64_t dvalAsInt;
		memcpy(&dvalAsInt, &dval, sizeof(double)); // Copies the binary representation of the double value into an integer variable

		uint32_t upper32Bits = dvalAsInt >> 32; // Extract the upper 32 bits

		float result;
		memcpy(&result, &upper32Bits, sizeof(uint32_t)); // Convert upper 32 bits to float

		return result; // Returns the resulting float value
	}


Fix inset map stray shadow box svg issue

Video of action: svginsetbugfix.zip

Looks like this fix is in the leaflet control. Hotfixing the js file is ok for now, but since this is a bug in the minimap control, it would be worth submitting a pull request against the library that fixes it there. Then we can pull in the updated upstream code without worrying that this fix will go away if we ever update the library in cartodb.

Which file is the leaflet control?

The file you modified in the PR, which was copied directly from here: https://github.com/Norkart/Leaflet-MiniMap

LGTM. Next sprint we'll try reproducing in the upstream repository and fixing it there.


Dependency requires core library desugaring to be enabled

Dependency 'dev.gitlive:firebase-config-android-debug:2.0.0' requires core library desugaring to be enabled
           for :shared.

I believe this should be fixed.

Can you post your build gradle, sounds like you might be adding the dependancy incorrectly.

What version of the JDK are you targeting? just wondering if its an issue with an older version being used?

Just for reference, when you enable this property, does your project work?
Sorry, i have not come across this issue before, so its interested to see.
I think this only affects users who are using Android Build tools 4.x.x
I have been using 7.x.x and never came across this.

gradle is fine, my guess is you have this somewhere:
com.android.tools.build

And this is version 4.x.x
You highlight that maybe what we need is an example KMP(with compose) that uses the library.

Whats your min android version you are targeting?

This seems to shed some light:
https://medium.com/androiddevelopers/support-for-newer-java-language-apis-bca79fc8ef65
Looks to me like its more related to android than it is this project. I would imagine you would have to add that property for any other libs.

ok thanks for the report

Desugaring is required for the config module as of #553 @Reedyuk and @Monabr due to the use of Kotlinx datetime which requires it as well. Only core library desugaring is required https://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#using-in-your-projects

Did some digging around and it seems fine to just disable core library desugaring on the module itself. Should only be added on the app implementing the SDK. See #618


[ Run failed but archive works]

Please include the full (Terminal) output of codesigndoc -
in Terminal.app you can save the output into a file with Command+s
In addition to this, if codesigndoc generated an Xcode output log, please attach that too.

Hello, I am sure my ARCHIVE works in xcode; however, run codesigndoc failed.

What's in the log file highlighted in the log? (xcodebuild-output.log)

Closing because of the lack of reply. Feel free to reply @Tailcloud and we'll reopen this issue!


Integration to conda-forge - issue with mac build

HI, I am finalizing the recipe to integrate blst to the conda framework via conda-forge. I am encountering an odd issue when testing the python binding on macos/x86_64:
testing...
Traceback (most recent call last):
  File "/Users/runner/Miniforge3/conda-bld/blst-split_1725117054481/work/bindings/python/./run.me", line 73, in <module>
    import blst
  File "/Users/runner/Miniforge3/conda-bld/blst-split_1725117054481/work/bindings/python/blst.py", line 12, in <module>
    import _blst
ImportError: dlopen(/Users/runner/Miniforge3/conda-bld/blst-split_1725117054481/work/bindings/python/_blst.cpython-39-darwin.so, 0x0002): symbol not found in flat namespace (_BLS12_381_G1)

Incidentally, I read a bit of the discussion on the better build system. The reason for needing blst within conda is that it is used by another project ckzg, which vendor blst as a statically linked library. It is typically preferred to separate the packages within conda, thus my the "public-purposing" of blst. We actually only need the dynamic lib, but for sake of completeness, I endeavored to provide your complete project
If you wish to keep an eye on how it is provided, let me know so I can add you as a maintainer

I fail to reconcile the parts of the report. The failure suggests that you're executing python/run.me, but it doesn't generate decorated _blst.-<os/arch>.so, just plain _blst.so. The way Python loads shared modules is to list *.so and choose decorated ones over non-decorated ones. Which raises the question, where does decorated name come from? Is it possible that it's an artefact of some failed experimentation on your part? In which case just removing it should mitigate the failure. But if you want run.me generate decorated .so,  then test
--- a/bindings/python/run.me
+++ b/bindings/python/run.me
@@ -33,13 +33,15 @@ if newer("../blst.swg", "../blst.h", "../blst.hpp", "blst_wrap.cpp"):
                                    "-o", "blst_wrap.cpp", "-outdir", ".",
                                    "../blst.swg"])

-if newer("blst_wrap.cpp", "../libblst.a", "_blst.so"):
+blst_so = "_blst"+sysconfig.get_config_var('EXT_SUFFIX')
+
+if newer("blst_wrap.cpp", "../libblst.a", blst_so):
     print("compiling _blst.so...") or sys.stdout.flush()
     if sysconfig.get_config_var('MACHDEP') == 'darwin':
         cmd = ["c++", "-bundle", "-undefined", "dynamic_lookup"]
     else:
         cmd = ["c++", "-shared", "-Wl,-Bsymbolic"]
-    cmd.extend(["-o", "_blst.so", "-fPIC", "-fvisibility=hidden",
+    cmd.extend(["-o", blst_so, "-fPIC", "-fvisibility=hidden",
                 "-I"+sysconfig.get_config_var('INCLUDEPY'), "-I..",
                 "-O", "-Wall", "blst_wrap.cpp", "../libblst.a"])
     try:

Secondly, I fail to draw the connection between what ckzg does and the issue. By this I mean following. _blst.so generated by python/run.me is not a blst library, it's Python interface. Most notably, if you consider symbols exported by it, you'll spot just one, PyInit__blst. In other words it's self-contained and private enough to not cause any problems with anything. What is the concern more specifically?

Thank you for the reply. I should have closed this issue, there was a typo in the script for the extension of the dynamic library, which incidentally was not loaded and thus missed the symbol. It took me quite a while to find how silly the mistake was. The recipe does use the patch you suggested above.
Correct, there is no issue with blst c-lib used by ckzg, but given that we created the recipe for it, we felt that it would be useful to also provide a recipe for the blst python binding that is part of this repo.
The recipes are now all building correctly, but are pending review by the conda-core team.
Are you willing to be a co-maintainer of the recipe? If so, I will add you and ping you for comment on each PRs

FYI: https://github.com/conda-forge/staged-recipes/pull/27476, https://github.com/conda-forge/staged-recipes/pull/27317
Some notes:

the library uses a versioning scheme in case versions need to be co-installable in the future.
windows build uses gcc, but there were some issues integrating the MASM (we added NASM to refresh.sh, but are not using them yet)
Once approved, we will look into cross-compiling for other os/arch. we may also improve the recipe at this stage (for example, if you review and find sub-optimal constructs)

windows build uses gcc, but there were some issues integrating the MASM (we added NASM to refresh.sh, but are not using them yet)

If you use gcc (or clang) on Windows, you don't need MASM, just call gcc (or clang) to compile build/assembly.S.

Right, that's the current recipe. If there's not improvement with using NASM, then we'll remove it. Thank you

FYI: conda-forge/staged-recipes#27476, conda-forge/staged-recipes#27317

Why bother with shared blst? Are you concerned with duplicating ~150KB? In these times? Just build Python interfaces with embedded blst, it's way more manageable and sustainable.

conda guidelines is to provide shared libraries. A recipe will build, publish and maintain historical versions whenever there is a repo tagged release, so it can quickly add-up (that is my guess for why)

conda guidelines is to provide shared libraries.

Well, if the goal is to maximize the maintenance costs, then all right :-) But on a more serious note, if you have a point of binary distribution independent of the OS vendor, it is more cumbersome for all involved parties to maximize the amount of shared libraries. This is not to say that there is no place for extra non-Python shared libraries, but there ought to be a line. And assertion is that everybody would be better off embedding blst into a Python shared library. It's sufficiently small and tightly tied to the corresponding bindinds anyway. In other words you have to ask the question how likely is it that you'll find yourself recompiling blst but not its Python bindings. Or vice versa. And the answer is highly unlikely.

Disclaimer: You know more than me on the subject. You could discuss this with Uwe (reviewer on  conda-forge/staged-recipes#27476) for a more fleshed out reasoning
In a sense, I am following the guideline and in this particular case, I had to provide blst c-lib to 2 different packages blst-py and ckzg. The latter being the primary reason, as well as the fact that I actually need ckzg as opposed to blst-py.. I saw some of your discussions related to blst not being a public use library, but ckzg uses it as such and maybe more will ... do not sell blst short (joking)
My first conda package was coincurve, which used secp256k1 statically linked and it was quite an arduous process to meet the guidelines after my few trials were rejected, so, I created a separate libsecp256k1 and worked with coincurve owner to refactor his package
I think maybe the disconnect is that, conda packages typically refrain from vendoring other packages, and although your offering is a blst python, it vendors your blst c-lib, which in a conda sense are 2 different packages, for example one is dependent on python ABI, while the other is not, so blst python requires at least 15 packages (3 os x 5 python versions, more for pypy and x-compile), while blst c-lib only 3 (linux, win, osx) - conda boast 27K packages, just here we're talking 15x150K vs 3x 150K - cross-compile adds another 4 OSes, but that goes for both
The goal IS to minimize maintenance cost, which is why it would be great if you would consider the needs of the recipes and provide some flexibility upstream, rather than rely upon the many patches that I added

Also note that I am not a conda expert, so all my reference to conda relate to my understanding of it, which is likely poor

For reference, d82c533 makes it possible to build fat binaries on MacOS and cf75400 actually builds fat shared object (in addition to working with MinGW).

Cool. Currently, the conda-forge reviews have slowed down, so depending on when you release/tag this update, I may update the recipe prior to having it approved and go live. Thks

First of all, the following remark shouldn't be viewed as a change of my position on shared builds, I still argue that embedding blst into a specific application or another shared module such as Python plugin is more appropriate. But I can't control other people.

it would be great if you would consider the needs of the recipes and provide some flexibility upstream, rather than rely upon the many patches that I added

Looking at  conda-forge/staged-recipes#27476. I see no reason for patching blst.sh. For starters, since you are copying the resulting files to target location you can choose that opportunity to choose the name of the shared library to your liking. As opposed to trying to modify build.sh to generate specific names that is. As for Linux. It's as important to pass -soname to linker, this can be achieved by passing -Wl,-soname=myfavoritename.so.N as an additional command line argument to build.sh. As for Windows, I'd suggest to generate the import library with dlltool -D myfavorite.dll -d build/win64/blst.def -l import.lib post build.
As for conda-forge/staged-recipes#27317. Well, run.me wasn't actually meant to be a build tool, just a proof-of-concept for somebody to figure out and contribute a more Python-friendly procedure... This is why it makes overly specific assumptions such as compiler availability... But if a build script is actually the best one can do, then it would be more sensible to split it into build.py and run.me (as in say Java)...

Thank you for the feedback on the recipes. blst-py is not actually needed, if it is a proof-of-concept, it may indeed bee wiser to not attempt a botched packaging

run.me script is a proof-of-concept, the bindings themselves are not. I thought that conda is a Python package manager...

My understanding of conda is that it was focused on python at inception, but it is now a more inclusive virtual environment manager. It includes packages written in many different languages, interpreted or compiled


Assembly.GetEntryAssembly() is null when running on AWS Lambda

Prerequisites

[x] I have written a descriptive issue title
[x] I have verified that I am running the latest version of Nancy
[x] I have verified if the problem exist in both DEBUG and RELEASE mode
[x] I have searched open and closed issues to ensure it has not already been reported

Description
When running under dotnet core 1.0.1 GetEntryAssembly() returns null due to how AWS start the app.
An exception was thrown when the constructor for type 'PreviewAspNetCoreWebAPI.LambdaEntryPoint' was invoked. Check inner exception for more details.: LambdaException

at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
Exception has been thrown by the target of an invocation.: TargetInvocationException
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Microsoft.AspNetCore.Hosting.Internal.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build()
at Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction..ctor()
Value cannot be null.
Parameter name: assembly: ArgumentNullException
at Microsoft.Extensions.DependencyModel.DependencyContextLoader.Load(Assembly assembly)
at Nancy.DependencyContextAssemblyCatalog..ctor()
at Nancy.Bootstrapper.NancyBootstrapperLocator.GetAvailableBootstrapperTypes()
at Nancy.Bootstrapper.NancyBootstrapperLocator.GetBootstrapperType()
at Nancy.Bootstrapper.NancyBootstrapperLocator.LocateBootstrapper()
at Nancy.Bootstrapper.NancyBootstrapperLocator.get_Bootstrapper()
at Nancy.Owin.NancyMiddleware.UseNancy(NancyOptions options)
at Nancy.Owin.DelegateExtensions.UseNancy(Action`1 builder, NancyOptions options)
at Microsoft.AspNetCore.Builder.OwinExtensions.UseOwin(IApplicationBuilder builder, Action`1 pipeline)

Steps to Reproduce
Use nancy with the template project from https://aws.amazon.com/blogs/developer/running-serverless-asp-net-core-web-apis-with-amazon-lambda/
System Configuration
AWS Lambda

Nancy version: 2.0.0-clinteastwood
Nancy host

[ ] ASP.NET
[x] OWIN
[ ] Self-Hosted
[ ] Other:

Other Nancy packages and versions:
Environment (Operating system, version and so on): AWS Lambda
.NET Framework version: dotnet core 1.0.1
Additional information:

Hmm, could you try and set NancyBootstrapperLocator.Bootstrapper explicitly, something like
NancyBootstrapperLocator.Bootstrapper = new DefaultNancyBootstrapper(); // replace with your bootstrapper type

and try that? Explicitly setting it, causes the NancyBootstrapperLocator to short-circuit and not perform auto-detection. Please let me know if that solves it
Not sure how to re-design the code to function unless you are explicit about it. We need to know the entry assembly in order to new up Microsoft.Extensions.DependencyModel.DependencyContextLoader and read the assembly references

I will give that a go tomorrow.
It appears that AWS Lambda is using unmanaged code to start the core app if I am reading the documentation from MSDN correctly.
The GetEntryAssembly method can return null when a managed assembly has been loaded from an unmanaged application. For example, if an unmanaged application creates an instance of a COM component written in C#, a call to the GetEntryAssembly method from the C# component returns null, because the entry point for the process was unmanaged code rather than a managed assembly.

https://msdn.microsoft.com/en-us/library/system.reflection.assembly.getentryassembly(v=vs.110).aspx

I just tried that and it fixed one error and now I get the below error.
An exception was thrown when the constructor for type 'PreviewAspNetCoreWebAPI.LambdaEntryPoint' was invoked. Check inner exception for more details.: LambdaException

at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
Exception has been thrown by the target of an invocation.: TargetInvocationException
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Microsoft.AspNetCore.Hosting.Internal.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build()
at Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction..ctor()
Value cannot be null.
Parameter name: assembly: ArgumentNullException
at Microsoft.Extensions.DependencyModel.DependencyContextLoader.Load(Assembly assembly)
at Nancy.DependencyContextAssemblyCatalog..ctor()
at Nancy.Bootstrapper.NancyBootstrapperBase`1.get_AssemblyCatalog()
at Nancy.Bootstrapper.NancyBootstrapperBase`1.get_TypeCatalog()
at Nancy.Bootstrapper.NancyBootstrapperBase`1.GetInitializedInternalConfiguration()
at Nancy.Bootstrapper.NancyBootstrapperBase`1.Initialise()
at Nancy.Owin.NancyMiddleware.UseNancy(NancyOptions options)
at Nancy.Owin.DelegateExtensions.UseNancy(Action`1 builder, NancyOptions options)
at Microsoft.AspNetCore.Builder.OwinExtensions.UseOwin(IApplicationBuilder builder, Action`1 pipeline)

@andymac4182 hmm, yeah so it's kind of the same problem. Nancy needs to create an instance of IAssemblyCatalog (see here, which on .NET Core is DependencyContextAssemblyCatalog
In the constructor of DependencyContextAssemblyCatalog we do the following
public DependencyContextAssemblyCatalog()
{
    var entryAssembly = Assembly.GetEntryAssembly();

    this.dependencyContext = DependencyContext.Load(entryAssembly);
}

We do this in order to load the dependency context, of the main assembly of your application, in order to load the dependency context which is embedded in the assembly (it's put there by the dotnet build tool). We extract that file and build up a catalog of all assemblies that uses a Nancy type.
What you could try is to copy the code of DependencyContextAssemblyCatalog, create your own version of it, and replace the ctor with a hard-coded solution, something like
public DependencyContextAssemblyCatalog()
{
    var entryAssembly = typeof(SomeTypeInYourMainAssembly).Assembly;

    this.dependencyContext = DependencyContext.Load(entryAssembly);
}

And then override NancyBootstrapperBase.AssemblyCatalog to return an instance of your own version of DependencyContextAssemblyCatalog
Let me know how this works.

@thecodejunkie That works!! Thank you heaps for that.
It would be great if there was a simple way to specify the main assembly from our side but this is a workable solution.

@andymac4182 great! I've just sent in #2694 to at least help make it a bit easier since there's no need to duplicate the entire class. once it's been pulled in. Would you be interested in helping us write a "Hosting on AWS Lambda" section on our wiki? We have a bunch of others

and I think adding an entry for AWS Lambda would be awesome

Alternative to using Microsoft.AspNetCore.Builder.OwinExtensions.UseOwin. Saves a message translation layer too!
https://github.com/damianh/Lancy/blob/master/src/Lancy/LancyProxyFunction.cs

I just tried that and it fixed one error and now I get the below error.
An exception was thrown when the constructor for type 'PreviewAspNetCoreWebAPI.LambdaEntryPoint' was invoked. Check inner exception for more details.: LambdaException

at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
Exception has been thrown by the target of an invocation.: TargetInvocationException
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Microsoft.AspNetCore.Hosting.Internal.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build()
at Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction..ctor()
Value cannot be null.
Parameter name: assembly: ArgumentNullException
at Microsoft.Extensions.DependencyModel.DependencyContextLoader.Load(Assembly assembly)
at Nancy.DependencyContextAssemblyCatalog..ctor()
at Nancy.Bootstrapper.NancyBootstrapperBase`1.get_AssemblyCatalog()
at Nancy.Bootstrapper.NancyBootstrapperBase`1.get_TypeCatalog()
at Nancy.Bootstrapper.NancyBootstrapperBase`1.GetInitializedInternalConfiguration()
at Nancy.Bootstrapper.NancyBootstrapperBase`1.Initialise()
at Nancy.Owin.NancyMiddleware.UseNancy(NancyOptions options)
at Nancy.Owin.DelegateExtensions.UseNancy(Action`1 builder, NancyOptions options)
at Microsoft.AspNetCore.Builder.OwinExtensions.UseOwin(IApplicationBuilder builder, Action`1 pipeline)

@andymac4182
Not related to NancyFx but I can't get assemblies when deploying in lambda, how did you fix this part?
List<Type> allAssembliesTypes = Assembly
                                    .GetEntryAssembly()
                                    .GetReferencedAssemblies()
                                    .Select(Assembly.Load)
                                    .SelectMany(a => a.GetTypes())
                                    .ToList();

You can't call Assembly.GetEntryAssembly() in lambda because its native code. You would be best to report lambda dotnet core deployment related issues in https://github.com/aws/aws-lambda-dotnet

Thank you for the answer @andymac4182. I will, do you by any chance know equivalent way to solve this?

Two options without going back through the code. Follow the instructions above about creating your own DependencyContextAssemblyCatalog or look at doing a self contained deployment with https://www.nuget.org/packages/Amazon.Lambda.RuntimeSupport/ 👍


[Upgrade] Intermittent failure: upgrade gets stuck due to cluster in yellow state

I am running an upgrade, which got stuck on the last unit's upgrading. Current status:
Model                                Controller           Cloud/Region         Version  SLA          Timestamp
test-small-deployment-upgrades-d1el  localhost-localhost  localhost/localhost  3.4.4    unsupported  19:57:46+02:00

App                       Version  Status   Scale  Charm                     Channel        Rev  Exposed  Message
opensearch                         blocked      3  opensearch                                 0  no       Upgrading. Verify highest unit is healthy & run `resume-upgrade` action. To rollback, `juju refresh` to last revision
self-signed-certificates           active       1  self-signed-certificates  latest/stable  155  no

Unit                         Workload  Agent  Machine  Public address  Ports     Message
opensearch/0*                active    idle   0        <IP_ADDRESS>    9200/tcp  OpenSearch 2.12.0 running; Snap rev 44 (outdated); Charmed operator 1+8ac22f7+8ac22f7-dirty
opensearch/1                 active    idle   1        <IP_ADDRESS>  9200/tcp  OpenSearch 2.12.0 running; Snap rev 44 (outdated); Charmed operator 1+8ac22f7+8ac22f7-dirty
opensearch/2                 blocked   idle   2        <IP_ADDRESS>   9200/tcp  Rollback with `juju refresh`. Pre-upgrade check failed: Cluster health is yellow instead of green
self-signed-certificates/0*  active    idle   3        <IP_ADDRESS>

Machine  State    Address         Inst id        Base          AZ  Message
0        started  <IP_ADDRESS>    juju-4193d3-0<EMAIL_ADDRESS>    Running
1        started  <IP_ADDRESS>  juju-4193d3-1<EMAIL_ADDRESS>    Running
2        started  <IP_ADDRESS>   juju-4193d3-2<EMAIL_ADDRESS>    Running
3        started  <IP_ADDRESS>   juju-4193d3-3<EMAIL_ADDRESS>    Running

When looking at the shards, I can see:
series_index                     0 p STARTED    270  1.1mb <IP_ADDRESS> opensearch-1
series_index                     0 r UNASSIGNED
.plugins-ml-config               0 r STARTED      1  3.9kb <IP_ADDRESS> opensearch-1
.plugins-ml-config               0 p STARTED      1  3.9kb <IP_ADDRESS>   opensearch-0
.opensearch-observability        0 r STARTED      0   208b <IP_ADDRESS> opensearch-1
.opensearch-observability        0 p STARTED      0   208b <IP_ADDRESS>   opensearch-0
.opensearch-sap-log-types-config 0 r STARTED               <IP_ADDRESS> opensearch-1
.opensearch-sap-log-types-config 0 p STARTED               <IP_ADDRESS>   opensearch-0
.opendistro_security             0 r STARTED     10 50.2kb <IP_ADDRESS> opensearch-1
.opendistro_security             0 p STARTED     10 61.1kb <IP_ADDRESS>   opensearch-0
.charm_node_lock                 0 r STARTED      1  3.9kb <IP_ADDRESS> opensearch-1
.charm_node_lock                 0 p STARTED      1  3.9kb <IP_ADDRESS>   opensearch-0

The replica shard is not able to move from previous opensearch-2 to opensearch-1 because the cluster is in the middle of the upgrade process, and hence cannot move anything but primary shards:
{
  "index": "series_index",
  "shard": 0,
  "primary": false,
  "current_state": "unassigned",
  "unassigned_info": {
    "reason": "NODE_LEFT",
    "at": "2024-07-04T17:45:23.497Z",
    "details": "node_left [pOfiAYQVR2ulZxhU2IZMrg]",
    "last_allocation_status": "no_attempt"
  },
  "can_allocate": "no",
  "allocate_explanation": "cannot allocate because allocation is not permitted to any of the nodes",
  "node_allocation_decisions": [
    {
      "node_id": "CUMMKezDSoyq7gy-DBheTQ",
      "node_name": "opensearch-0",
      "transport_address": "<IP_ADDRESS>:9300",
      "node_attributes": {
        "shard_indexing_pressure_enabled": "true"
      },
      "node_decision": "no",
      "deciders": [
        {
          "decider": "enable",
          "decision": "NO",
          "explanation": "replica allocations are forbidden due to cluster setting [cluster.routing.allocation.enable=primaries]"
        }
      ]
    },
    {
      "node_id": "mB6bq4wxTZG4LHQXUKODWg",
      "node_name": "opensearch-1",
      "transport_address": "<IP_ADDRESS>:9300",
      "node_attributes": {
        "shard_indexing_pressure_enabled": "true"
      },
      "node_decision": "no",
      "deciders": [
        {
          "decider": "enable",
          "decision": "NO",
          "explanation": "replica allocations are forbidden due to cluster setting [cluster.routing.allocation.enable=primaries]"
        },
        {
          "decider": "same_shard",
          "decision": "NO",
          "explanation": "a copy of this shard is already allocated to this node [[series_index][0], node[mB6bq4wxTZG4LHQXUKODWg], [P], s[STARTED], a[id=AZbeqvTdRDSggGXzi72hfw]]"
        }
      ]
    }
  ]
}

We should add a flag to the precheck: we should accept "Health.GREEN" and Health.YELLOW" status if we are in the middle of the upgrade; but not if we are running the action right before the upgrade itself.

After internal discussion, it was agreed that we must have all-green cluster.